Javascript FormData对象在Safari中发送请求时未捕获值
我有一些代码:Javascript FormData对象在Safari中发送请求时未捕获值,javascript,ajax,safari,form-data,Javascript,Ajax,Safari,Form Data,我有一些代码: var formData = new FormData(eForm); var xhr=GetXMLHttpRequest(); xhr.open('POST', surlAjax,false); xhr.send(formData); 当我在chrome中查看请求负载时,我看到: 请求有效载荷 ------WebKitFormBoundary2Sol1RjAh9VTx3uj 内容配置:表单数据;name=“答案” 一, ------WebKitFormBoundary2S
var formData = new FormData(eForm);
var xhr=GetXMLHttpRequest();
xhr.open('POST', surlAjax,false);
xhr.send(formData);
当我在chrome中查看请求负载时,我看到:
请求有效载荷
------WebKitFormBoundary2Sol1RjAh9VTx3uj
内容配置:表单数据;name=“答案”
一,
------WebKitFormBoundary2Sol1RjAh9VTx3uj
内容配置:表单数据;name=“idSlide”
十一,
------WebKitFormBoundary2Sol1RjAh9VTx3uj
内容配置:表单数据;name=“sEnduser”
ceff69eabdcd494de62b110c0c7231aa
------WebKitFormBoundary2Sol1RjAh9VTx3uj--
在Safari中查看请求负载时,我看到:
请求有效载荷
------WebKitFormBoundary3rBEoL5qcra4nVCd--
eForm对象是FormData构造函数所需的HTMLFormElement对象
你知道为什么safari和chrome的请求负载会有所不同吗?我在5.0.5版上复制了它。。。FormData构造函数似乎有问题-它没有在表单中添加所有值,但是.append()工作正常。谢谢Steve。事实上,我最终发现这是一个浏览器问题。我使用.append()重写了该函数以支持提交。不过它应该支持它-它应该能够将表单作为构造函数参数,而最新的webkit确实有一个测试来检查它的工作情况。我想v5太旧了,我们必须等待v6才能让Safari正确支持它。对于找到此线程的任何人,Safari 5.1.7都可以将表单传递到
new FormData()
中。让我困惑的一件事是,您不能直接访问formData对象的属性。您需要先发送formData,然后才能查看在接收服务中或通过使用“网络”选项卡传递的属性。据我所知,这是所有浏览器的标准配置。下面是@ChadvonNau评论中的一个线程,它实际上为您如何查看formdata属性提供了有用的解释: