老师,有疑问
来源:5-4 处理http请求的综合示例
慕设计7925147
2019-11-02
const http = require(‘http’);
const querystring = require(‘querystring’);
const server = http.createServer((req,res)=>{
// API信息:
const method = req.method; // 请求信息
const url = req.url; // 网页地址信息
const path = url.split(’?’)[0]; // 网页地址栏前面的信息
const query = querystring.parse(url.split(’?’)[1]); // 网页地址栏后面的信息
// 设置格式返回为JSON,用于客户端解析,类似之前end返回HTML格式,text/html:
res.setHeader('Content-type','application/json');
// 返回的数据:
const resData = {
method,
url,
path,
query
}
// 返回之前设置JSON格式的字符串:
if(method === 'GET') { // GET格式
res.end(JSON.stringify(resData)); // 返回为字符串格式
}
if(method === 'POST') {
let postData = '';
req.on('data',chunk => {
postData += chunk.toString();
})
req.on('end:',()=> {
resData.postData = postData;
// 返回:
res.end(JSON.stringify(resData));
})
}
});
server.listen(8000);
console.log(‘请求成功’);
在postman里post请求一直显示Sending request…
上一节课的post没问题,这节课的代码就一直显示Sending request…
写回答
3回答
-
end 后面为何要加一个冒号???
222019-11-12 -
双越
2019-11-02
req.on('end:',()=> { // 把这一行的分号,删掉。end 前后也不要有多余的空格。 resData.postData = postData; // 返回: res.end(JSON.stringify(resData)); })
10 -
慕设计7925147
提问者
2019-11-02
我单独写POST就没问题,综合写POST就不行
00
相似问题