- 时间:2021-12-05 21:36 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:ajax post方式表单提交setRequestHeader报错解决方法
当我们创建一个异步对象XMLHttpRequest同时post方式向后台传输数据的时候。
我们要设置异步对象的xhr.setRequestHeader成员的值为
XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");否则的话后台是不能接收到传过去的值的。因为在谷歌浏览器的编译器中显示,传值在Request Payload中,这是错误的(如图) --属性注意看
[img]http://files.jb51.net/file_images/article/201409/20140921100055.gif?20148211018[/img]
而正确的方式是在 Form Data 中(如图)
[img]http://files.jb51.net/file_images/article/201409/20140921100132.gif?201482110151[/img]
这个设置在form表单中的enctype属性(规定在发送到服务器之前应该如何对表单数据进行编码。一共有三种形式,可参考w3c文档)也是有得到体现的、
例如:<form enctype="application/x-www-form-urlencoded"></form>
jquery 里面有一个方法serialize() 方法 。。可以将参数一窝端。变成 id="值"&name="值" 的方式