Mik*_*den 32 javascript ajax xmlhttprequest fileapi
在IE 8/9中不存在FormData,但我需要在这些浏览器中使用该功能.这有一个很好的后备吗?
我会尝试发送json数据,但我需要将文件传递给服务器.我将此文件附加到formData现代浏览器中,只需提交XHR请求即可.因为FormData在IE 8/9中不存在,这显然是失败的.
// I cant seem to get this to work with a file.
$.ajax({
url: '/genericHandlers/UploadDocsFile.ashx',
type: "POST",
data: model.toJSON(),
contentType: 'application/json'
}).done(function (data) {
log('stuff happened!');
});
Run Code Online (Sandbox Code Playgroud)
也许另一种方法是在js中创建一个假的表单对象然后将数据附加到那个?
我只知道一种可能的解决方案,但它并不是真正的IE回归.没有可能的通信API用于发送文件,因为您无法在旧浏览器中绑定输入字段,例如使用FormData的现代浏览器.但您可以使用iframe发送整个表单.对于这种情况,您可以使用支持XHR DataForm和iframe的jquery.form插件(当浏览器不支持FormData API时,数据与iframe一起发送).