gpt4 book ai didi

javascript - 在 JS 中通过 XMLHttpRequest 对象发布表单数据? (跨浏览器)

转载 作者:搜寻专家 更新时间:2023-11-01 04:58:23 24 4
gpt4 key购买 nike

我试图在 js 中发布表单数据:

我有这段代码:

var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
formData.append("afile", "2");

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://xxxxx/xx.ashx",true);
xhr.send(formData);

根据 MDN 的表单数据在 IE 中不可用(或未知)。

当我在 FF 中尝试这个时:

enter image description here(我觉得没问题...)。

当我在 IE 中尝试时:

enter image description here

什么是发布表单数据(或我的数据,但以客观方式)CROSSBROWSER 的解决方案?

最佳答案

我写了一个简单的包装器,您可以使用它在 IE 中发送 FormData(它也不会弄乱 webkit/gecko 中的任何内容)。在尝试使用 FormData 之前,只需包含以下 js:

var ieFormData = function ieFormData(){
if(window.FormData == undefined)
{
this.processData = true;
this.contentType = 'application/x-www-form-urlencoded';
this.append = function(name, value) {
this[name] = value == undefined ? "" : value;
return true;
}
}
else
{
var formdata = new FormData();
formdata.processData = false;
formdata.contentType = false;
return formdata;
}

现在只需将所有新的 FormData() 调用切换到新的 ieFormData(),然后切换

processData: false, 
contentType: false,

processData: formdata.processData,
contentType: formdata.contentType,
cache: false,

一切就绪。当然,这不允许您包含文件(您仍然需要 iframe hack),但它允许您在 IE 中模仿 FormData。

关于javascript - 在 JS 中通过 XMLHttpRequest 对象发布表单数据? (跨浏览器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com