我正在使用jQuery表单插件在我的MVC项目中上传图像。
出于某种原因,IE中的代码不再有效(之前有效): 我可以告诉提交成功,图像上传成功,并在数据库中重新编码,但是IE中的响应似乎有些损坏。
function showResponse(responseText, statusText, xhr, $form) {
$("#loading").hide();
AddImage(responseText.ImageId);
buildArray();
}
我在Firefox,Chrome,Safari上测试过,一切正常,但是当我在IE中使用它时。
我收到了错误:
消息:'ImageId'为空或不是 对象
以前有人遇到过类似的问题吗?
提前致谢!
答案 0 :(得分:1)
通过将内容类型从“text / plain”更改为“text / html”来解决问题,就是这样。
OMFG,Internet Explore!
我改变了代码:
return Json(newImage, "text/html", Encoding.Unicode, JsonRequestBehavior.AllowGet);
希望这也有助于其他人。
答案 1 :(得分:0)
如文档上传文档中所述:
重要的是要注意,即使dataType选项设置为'script',并且服务器实际上正在使用一些javascript响应多部分表单提交,响应的Content-Type标头也应该强制为文本/ html,否则Internet Explorer将提示用户下载“文件”。
我之前不知道它有用,但文档清楚地说明了这个问题。