Ajax——不能将要发送的数据作为“;x-www-form-urlencoded”;
Ajax -- cannot make the data to be sent as "x-www-form-urlencoded"
尽管我已经指定了内容类型,但XMLHttpRequest
仍在multipart/form-data
:中发送数据
var xhr = new XMLHttpRequest();
xhr.open('POST', 'url', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function(e) {
//..........
//..........
xhr.send(new FormData("my_form"));
因为在Chrome开发工具中,我看到了以下内容:
------WebKitFormBoundaryfdsfdsfdsfds
Content-Disposition: form-data; name="name1"
something1
------WebKitFormBoundaryfdsfdsfdsfds
Content-Disposition: form-data; name="name2"
something2
------WebKitFormBoundaryfdsfdsfdsfds
Content-Disposition: form-data; name="name3"
something3
即multipart/form-data
没有jquery。
来自规范:
FormData
让请求实体主体是运行多部分/表单数据编码算法的结果,其中数据作为表单数据集,utf-8作为显式字符编码。
因此,FormData
将始终使用多部分编码对数据进行编码。除了用自己的代码构造x-www-form-urlencoded
字符串(即不使用FormData
)之外,您对此无能为力。
相关文章:
- Dojo:访问dijit.form.Select中单击的项目
- Javascript form innerHTML
- 无法在有条件呈现的富:面板上提交h:form
- Javascript form.submit()方法是如何工作的
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- This.Form.Submit() on CakePHP
- 带有Request.Form的JScript数组
- jQuery函数无法处理Form Submit
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的
- 如何停止向上滚动<按钮dojoType=“;dijit.form.Button”;type=“;提交”/>在
- Angular Form Wide验证(不特定于字段)
- 如何使用 Get 发布 x-www-form-urlencode 请求
- Post-json对象,使用iron-ajax作为application/x-www-form-urlencoded
- Ajax——不能将要发送的数据作为“;x-www-form-urlencoded”;
- 如何使用x-www-form-urlencoded强制Angular2 POST
- new FormData() "application/x-www-form-urlencoded"
- 我怎么能让一个Spring @RestController接受JSON格式的参数,而不是www-form-urlenco
- 为什么我的Ajax请求发送"内容类型:application/x-www-form-urlencoded&qu
- 我如何将javascript json数据转换为x-www-form-urlencoded