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

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

我有这个代码:

var formData = new FormData();formData.append("用户名", "Groucho");formData.append("accountnum", 123456);formData.append("afile", "2");var xhr = new XMLHttpRequest();xhr.open("POST", "http://xxxxx/xx.ashx",true);xhr.send(formData);

根据 )

现在跨浏览器 AJAX 文件上传非常困难.您可以尝试在 Javascript 中构建自己的表单标题/边界(请参阅此处的答案:XMLHttpRequest POST multipart/form-data) 但是,我个人认为这不值得.

Im trying to post a form data in js :

I have this code :

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);

Formdata according MDN is not available in IE ( or unknown).

When I try this in FF :

( i think its fine...).

when I try in IE :

What is the solution to post form data ( or my data but in objective way) CROSSBROWSER ?

解决方案

You didn't say which version of IE you're using. The formData object is not supported in IE9 or lower. XMLHTTPRequest2 (which contains the formData object) should be supported in IE10 (http://caniuse.com/xhr2)

Cross-browser AJAX file upload is very hard to do right now. You could try building your own form header/boundaries in Javascript (see answer here: XMLHttpRequest POST multipart/form-data) but, personally, I don't believe it is worth the effort.

相关文章