node.js中http通讯模块

Posted songjiale

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js中http通讯模块相关的知识,希望对你有一定的参考价值。

创建一个服务器

首先建立一个js文件,命名为app.js
写入内容:

const http=require(‘http‘); 
http.createServer((request,response)=>{
    response.setHeader(‘Access-Control-Allow-Origin‘,‘*‘) //设置请求头 第一项代表允许的请求格式,第二项代表允许谁请求
    response.write(‘hello node‘);
    response.end();  //必须写,否则页面会进入死循环
}).listen(8000);

 

然后打入node命令:node app.js (.js可以省略) 打开浏览器访问 172.0.0.1:8000 或者  localhost:8000 都可查看运行结果

技术分享图片

技术分享图片

就是这么简单,但是在node.js中,只要你修改了js文件,就需要去重新启动node,直接刷新浏览器是没有用的。这种设计有利于提高性能,但是不利于开发调试

所以supervisor就可以帮我们解决这个问题了,supervisor可以监视我们的代码,并且自动重启

使用方法:npm install -g supervisor  使用npm安装

然后就可以使用supervisor去命令app.js启动  supervisor app.js

 技术分享图片

这样每次保存都会自动帮我们重启,就省去了手动启动的麻烦

 

 

url ----》用来解析get

 

var str = req.url
console.log(url.parse(req.url,true).query)  //true可以直接取到解析好的数据

使用url中的方法,解析出来的就是这样

技术分享图片

 


querystring ----》用来解析post

var str = ‘‘;
req.on(‘data‘,function(data){
    str += data; //data解析出来时属于buffer类型,加上字符串就可以转换
})
req.on(‘end‘,function(){
    console.log(querystring.parse(str) )
})

 



以上是关于node.js中http通讯模块的主要内容,如果未能解决你的问题,请参考以下文章

Node.js与HTTP响应主体的unicode问题

node.js中使用net模块创建服务器和客户端

Node.js JavaScript 片段中的跳过代码

node.js_POST服务--配合ajax通讯

Node.js之Web学习笔记

让node.js与其它语言进行通信(thrift),并使用zookeeper做服务协同