node.js_POST服務--配合ajax通訊
阿新 • • 發佈:2018-10-31
服務端
/載入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)); }