xhr如何发送post请求_xhr的send方法以及node如何处理get和post数据

  • Post author:
  • Post category:其他


起因:看了阮一峰老师的关于上传文件的文章,进行测试,在使用xhr对象的send方法时遇到问题。

遇到的问题是使用send方法传送过去的数据,在node后台无法接收,经过很多次测试,怀疑是不是send与node不兼容导致。

所以使用了jq的ajax方法进行测试,

$(“#sub”).click(function(){

$.ajax({

url:”/upload”,

data:”foo=123″,

type:”POST”})

})

发现post过去的数据可以使用req.body接收。

因为jq的ajax方法的原生便是xhr对象,所以基本排除send方法与node不兼容的说法。

之后查阅资料发现,原来使用send方法时,如果是get请求则直接写open和send即可,

但是假设是post方法传数据给后台,则需要加

xhr.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded;charset=UTF-8″);

否则post过去的数据无法被正常接收。

补充:如果使用get方法,基本用法应该如下:

var xhr=newXMLHttpRequest();

xhr.open(“GET”,”upload?username=qiangzi&password=123″;

xhr.send(null);



版权声明:本文为weixin_39941792原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。