个人感觉post请求不是必须设定requestheader传参。和get一样,参数在url中设定也是可以的,如下也是可以正常res的,用req.query.username可取得传入值。
var htp = new XMLHttpRequest();
htp.onreadystatechange = function(){
if(htp.status===200&&htp.readyState===4){
alert(htp.responseText);
}
}
htp.open('POST','/post?username=爱萝莉',true);
htp.send();
当然,设定RequestHeader("Content-type","application/x-www-form-urlencoded");也是ok的,用req.body.username可取得传入值。
新手一枚,请高手指点是非!
主要是看你的服务器怎么接收参数的。放在url上叫做querystring,放在body里叫做postdata,有的服务器端程序出于容错的考虑两者都能接收,有的不行。
这就好比,你访问 w.baidu.com 也能访问百度,因为百度考虑到小白用户打字错误的问题,也有这个域名设置,但是http协议本身并不会让任何去 w.xxx.com 的请求自动跳转到 www.xxx.com