node.js_POST服务--配合ajax通讯
Posted teacher-yu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js_POST服务--配合ajax通讯相关的知识,希望对你有一定的参考价值。
服务端
/加载node按照时自带http.js文件,这个文件返回了一个对象,对象下有一个createServer的方法 var http=require("http"); // var strs=require("querystring"); //创建node服务,并且返回 //req客户端向服务器请求的对象 //res服务端向客户端发送的对象 var server=http.createServer(function (req,res) { //侦听当数据发送过来时,这里的参数d是一个二进制数据流,是由客户端send(内容)发过来的数据 var data=""; req.on("data",function (d) { data+=d; }); req.on("end",function () { var obj=JSON.parse(data); obj.login="ok"; //这是服务器客户端发送的消息,这里是写入发送的消息头, //200 表示当前通信成功 //"Content-Type":"text/plane" 设置当前发送内容文本自由化 //"Access-Control-Allow-Origin":"*"添加跨域的白名单是所有网站 res.writeHead(200,{"Content-Type":"text/plane","Access-Control-Allow-Origin":"*"}); //写入向客户端发送的消息 res.write(JSON.stringify(obj)); //结束发送 res.end(); }) }); //侦听设置,设置当前的服务的端口是3003,当前服务开启的ip是10.9.164.92 server.listen(3004,"10.9.164.92",function () { console.log("启动服务,开始侦听"); });
通讯
var obj={name:"xietian",age:20};
var xhr=new XMLHttpRequest();
xhr.addEventListener("load",loadHandler);
// 发送数据不在url后面填写,将数据在send方法中发送,只能发送文本,xml,二进制数据
xhr.open("POST","http://10.9.164.92:3004");
xhr.send(JSON.stringify(obj));
function loadHandler(e) {
console.log(JSON.parse(xhr.response));
}
以上是关于node.js_POST服务--配合ajax通讯的主要内容,如果未能解决你的问题,请参考以下文章