客户端:
return new Promise((resolve,reject)=>{
var xhr=new XMLHttpRequest()
xhr.open(method,url)
method.toLowerCase()==="post" && body ? xhr.send(typeof body==="object"JSON.stringify(body) :body) : xhr.send()
xhr.onreadystatechange=function(){
if(xhr.status===200 && xhr.readyState===4){
var o
try{
o=JSON.parse(xhr.response)
}catch(e){
o=xhr.response
}
resolve(o)
}
}
})
}
init()
async function init(){
var data
data=await ajax("http://localhost:4010/addgoods?a=11&b=22",{
method:"post",
body:{c:15,d:20}
})
console.log(data)
}
服务端:
var querystring = require("querystring")
http.createServer(async(req, res)=>{
var [router,param] = req.url.split("?")
// 接受地址传来的参数
param = querystring.parse(param)
console.log(param,router)
// 接受post发过来的消息
var body =await getData(req)
console.log(body)
res.writeHead(200, {
"Content-Type": "text/html;charset-utf-8",
"Access-Control-Allow-Origin": "*"
})
res.end(JSON.stringify({a:10,b:20}))
}).listen(4010)
function getData(req){
return new Promise((resolve,reject)=>{
var data=""
req.on("data",function(_data){
data+=_data
})
req.on("end",function(){
var o
try{
o=JSON.parse(data)
}catch(e){
o=querystring.parse(data)
}
resolve(o)
})
})
}