转自:微点阅读 https://www.weidianyuedu.com

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。(nodejs官网上的介绍),正如官网上介绍的那样,nodejs确实很牛!怎么个牛法?看看下面的代码就知道了。

//引入http模块var http = require("http");//设置主机名var hostName = "127.0.0.1";//设置端口var port = 8080;//创建服务var server = http.createServer(function(req,res){ res.setHeader("Content-Type","text/plain"); res.end("hello nodejs");});server.listen(port,hostName,function(){ console.log(`服务器运行在http://${hostName}:${port}`);});

短短几行代码就把一个简单的web服务器搭建完成了,为了验证效果,我们在浏览器请求,结果如下:

运行成功!

到此为止,一个web服务器就建立成功了! 没错就是这么简单,然后我们就可以写个html界面愉快的玩耍了,哈哈哈!果断的写了一个html页面来请求一下我们的web服务器。

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery-1.2.1.js"></script></head><body> <div class="container"> <div class="btn" οnclick="getText()">获取数据</div> <div class="text"></div> </div></body><script type="text/javascript"> function getText(){ $(".text").load("http:127.0.0.1:8080"); }</script></html>

代码简单,点击div获取数据并将服务器返回的数据展示。好了,我们运行一下demo.html文件,我擦来!居然出现了……

很明显,通过jquery请求不到数据,这是因为跨域请求的原因。我们的web服务器并不支持跨域请求,所以报错了。解决方式:在服务器的响应头文件里加上如下代码:

res.setHeader("Content-Type","text/plain"); res.setHeader("Access-Control-Allow-Origin","*") res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.end("hello nodejs");

再次重启服务器,运行demo.html,显示结果很是令人欣喜!

通常请求服务器都会拼接参数的,最常用的就是get请求,post请求。很明显,我们现在的代码还不能支持。express框架很好的封装了nodejs的http模块,使我们用起来非常的简单。

引入express :$ cnpm install express –save

var express = require("express");var app = express();var hostName = "127.0.0.1";var port = 8080;app.all("*", function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By"," 3.2.1") res.header("Content-Type", "application/json;charset=utf-8"); next(); });app.get("/get",function(req,res){ console.log("请求url:",req.path) console.log("请求参数:",req.query) res.send("这是get请求");})app.listen(port,hostName,function(){ console.log(`服务器运行在http://${hostName}:${port}`);});

使用方式变化不大,通过express()方法开启服务,然后在通过get方法来设置匹配参数的路由,通过在回调函数的req中可以获取请求参数和地址。post请求也是类似,不过有不同的是,post请求在获取参数的时候要引入body-parser 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。

var express = require("express");var bodyParser = require("body-parser"); var app = express(); app.use(bodyParser.urlencoded({ extended: false })); var hostName = "127.0.0.1";var port = 8080;app.all("*", function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By"," 3.2.1") res.header("Content-Type", "application/json;charset=utf-8"); next(); });app.get("/get",function(req,res){ console.log("请求url:",req.path) console.log("请求参数:",req.query) res.send("这是get请求");})app.post("/post",function(req,res){ console.log("请求参数:",req.body); var result = {code:200,msg:"post请求成功"}; res.send(result);});app.listen(port,hostName,function(){ console.log(`服务器运行在http://${hostName}:${port}`);});

运行结果:

完整的get以及post请求就是以上了。

用nodejs搭建web服务器相关推荐

  1. Nodejs搭建web服务器

    使用Nodejs + http 创建web服务器 1.首先创建一个server.js文件,创建服务器,以及对应css和js文件的引入和判断 var http=require('http'); var ...

  2. websocket 学习--简单使用,nodejs搭建websocket服务器,到模拟股票,到实现聊天室

    websocket简介: WebSocket协议是 HTML5 开始提供的一种基于TCP的一种新的全双工通讯的网络通讯协议.它允许服务器主动发送信息给客户端. 和http协议的不同?? HTTP 协议 ...

  3. 通过nodejs搭建HTTP服务器

    文章目录 通过nodejs搭建HTTP服务器 前提 搭建步骤 实例 启动服务器 通过nodejs搭建HTTP服务器 nodejs是一个用于解析执行javaScript代码的环境(它不是语言,不是框架) ...

  4. node.js 微信小程序 部署服务器_微信小程序开发入门(一),Nodejs搭建本地服务器...

    1.  如何模拟真实环境中,读取服务端数据,首先需要使用Nodejs搭建一个本地服务器的环境. 在搭建web服务器之前,需要先安装node.js(安装版本最好为6.9.x) 安装后node.js,接下 ...

  5. 支持post的web服务器搭建,搭建Web服务器

    原标题:搭建Web服务器 前言 在直播中,创建房间,获取房间,都需要服务器,因此需要搭建Web服务器 Web服务器 能处理HTTP请求的服务器都可以叫Web服务器 Node.js介绍 Node.js什 ...

  6. windows 下搭建Web服务器

    windows 下Web服务器的搭建 注:在搭建Web服务器时要有DNS与IIS的支持. 转载于:https://blog.51cto.com/babymylove/161310

  7. 20秒搭建web服务器,跨平台(mac,window)

    服务器: http-server 问题: 其实搭建web服务器有很多种方法,比如: 1.本地的 apache, nginx 2.自己下载安装一个软件,如phpServer 3.node.js 静态we ...

  8. 利用自己的电脑设置web服务器建网站_win7系统篇,win7系统利用iis搭建web服务器实现信息浏览资源共享的操作方法...

    很多小伙伴都遇到过对win7系统利用iis搭建web服务器实现信息浏览资源共享进行设置的困惑吧,一些朋友看过网上对win7系统利用iis搭建web服务器实现信息浏览资源共享设置的零散处理方法,并没有完 ...

  9. 使用Django搭建web服务器(最最正确的方式)

    今晚在Mac OS中搭建web服务器时遇到一点冲突,逛了几个论坛和网站,都说的太片面. 赠送源码:GitHub - Pangu-Immortal/MagicWX:

最新文章

  1. action标签的使用
  2. MySQL高级 大批量插入数据
  3. MySQL存储引擎中MyISAM和InnoDB区别
  4. I_LIKE_CPP 多特游戏下载
  5. android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示
  6. 你的项目应当使用Spring Boot吗?(译文)
  7. 常用前端Js框架简介
  8. android 5.0论坛,Android 安卓5.0以下版本提权漏洞
  9. Ajax学习笔记-get请求参数-3
  10. Java程序员必看的 14 本 Java 书籍!
  11. 阿里巴巴Java开发编码规范—注释规约
  12. 读书笔记之《薄世宁·医学通识50讲》
  13. 考研逻辑整理 - 概念和概念的种类
  14. 细胞迁移 | cell migration
  15. QQ正式推出“超级QQ秀”布局元宇宙
  16. Docker容器时间与宿主机时间不一致
  17. C语言 课程设计 实现简单的车辆管理系统
  18. 计算机自我介绍英语范文,计算机面试英文自我介绍范文
  19. Appweb+ESP学习笔记
  20. A92怎么获取root,A92参数

热门文章

  1. 数字 IC 笔试面试必考点(10)竞争冒险与毛刺脉冲
  2. python银行处理
  3. 怎样关闭烦人的eclipse工具栏上的调试图标
  4. Mac Futter 开发环境配置 从0到1 流程
  5. 微信小程序这么受欢迎,有什么特点和作用?
  6. 营销的力量:二维码营销究竟能为企业做什么?
  7. python爬取小说写入txt_Python爬虫练习 爬取网络小说保存到txt
  8. 3DSlicer导入医学图像数据
  9. 数据库表的CRUD操作
  10. 实现机器学习算法:CatBoost