在AJAX中对POST请求中必须要设定requestheader?

个人感觉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