jQuery fileupload在IE 8和9中无效

在此处输入图像描述

此代码适用于FF和chrome。 在IE 8或9中,我得到500错误,表示not null属性为null。

这是html

Documents

这是javascript

 function Upload(div, additionalParams, successFunc, failureFunc) { $('#' + div).fileupload({ dataType: 'json', url: rootPath + 'Upload/SomeMethod', formData: additionalParams, start: function (e, data) { showLoading(); }, stop: function (e, data) { hideLoading(); }, add: function (e, data) { data.submit(); }, always: function (e, data) { var result = data.result; if (result.HasError) { failureFunc(result.Error); } else { successFunc(result); } } }); }; 

控制器方法是

 public virtual JsonResult SomeMethod(IEnumerable postedFiles, int id) 

我能够通过包含jquery.iframe-transport.js让它工作,然后我不得不从div中删除我的淘汰“with”数据绑定以使其在IE8中工作,因为它在IE9中工作。 (我在发布的代码上面有绑定)感谢所有的建议。

由于此函数在FF中正常工作,因此只有一种可能性,即您在此处传递的变量仅适用于IE。

检查IE控制台中的每个变量值。

提示:IE对类型和一切都很严格。

例如:

 parseInt(Number); 

FF和Chrome将其视为十进制值,而IE则将其视为八进制数。 因此,建议给出parseInt(Number,10)

如果你提供,甚至关于日期

 var currentDate = new Date("March 18, 2013 11:13:00") 

适用于Chrome和FF,但在IE中显示undefinedinvalid Date

您可以在此处找到有关日期推荐表示法的更多信息

所以,在上面的例子中,我只是想告诉你,你可能忘记了声明类型正确的符号

虽然,这不是您正在寻找的答案,但我希望这些信息对您有所帮助。

更新 :由于错误是500 error ,那么问题可能更多可能是rootPath变量的值。

只需将content-type设置为text / html并将其作为JSON发送。

这适用于所有浏览器。

  $("#txt1").fileupload({ replaceFileInput: false, dataType: "json", datatype:"json", url: "<%=Page.ResolveUrl("~/WebService/AddAttachment.ashx")%>", done: function (e, data) { $.each(data.result, function (index, value) { //You get the response data in here from your web service }) $("#txt1").val(""); }`enter code here` }); 

这在IE8和IE9 +上面都经过测试并正常工作。 请确保使用正确的dataType:“json”(或数据类型:“json”),并确保您的Web服务方法响应正确。 谢谢

在IE上如果你在上传文件时返回像json这样的数据,你可以得到这样的数据(json):

 done: function (e, datos) { try { //This in FF, Chrome, Safari data=eval(JSON.parse(datos.result)); }catch (er) { //This in IE data=eval(JSON.parse(datos.result[0].documentElement.innerText)); } 

如果通过jQuery fileupload你的意思是使用http://blueimp.github.com/jQuery-File-Upload/那么它在浏览器支持部分明确指出IE 10+是他们实现的每个function所必需的。

https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

如果你的意思是另一个插件,请忽略我的评论。