get与post请求问题

  • req.url可以获取请求路径;
  • 为避免浏览器自身发送的'/favicon.ico'的影响,获取路径后可利用if(req.url=='/favicon.ico')  return ;处理
  • url.parse(req.url).query可以获取到地址中的查询字符串,而后利用querystring.parse(query_string)可以将查询字符串解析为json对象;
  • 响应post请求时,需要先设定一个装载用户post数据的空内容变量,利用request对象的data事件将用户数据逐步添加到设定的空内容对象中(并且注意设定req.setEncoding('utf8') );

响应post完整示例代码:

 1 function post(req,res){
 2     var content= '';    //装载用户数据
 3     req.setEncoding('utf8');
 4     req.addListener('data',function(_data){      //data事件在开始接收数据时触发(此时将接收的数据附加到content空内容变量中)
 5         content+=_data;
 6     })
 7     req.addListener('end',function(){          //end事件在没有数据接收时触发
 8         var json_data = querystring.parse(content);
 9         console.log(json_data);
10     })
11     res.writeHead(200,{'content-type':'text/plain'});
12     res.end('success');    //此处不可直接res.end(content);因一开始还未触发data事件,会返回空数据;
13 }

猜你喜欢

转载自www.cnblogs.com/wyr-blog/p/9459290.html