小编典典

IE尝试在提交包含文件的jQuery多部分表单数据时下载json响应

ajax

我正在尝试file通过jQuery.Form插件提交带有字段的表单,下面是代码:

$('form').ajaxSubmit({
  url: "/path",
  dataType: "json",
  contentType: "multipart/form-data"
...

然后,服务器返回json作为响应。在IE(试图将响应下载为文件)中的所有浏览器中都可以正常工作。如果我从表单中删除文件字段,它也可以正常工作。

我在这里和Google中已经看到了各种解决方案,并且基本上尝试了几乎所有描述的方法,包括enctype通过jQuery 设置表单,但是没有用。

任何建议都将受到欢迎。


阅读 240

收藏
2020-07-26

共1个答案

小编典典

我没有找到直接的解决方案,但最终实现了以下解决方法: dataType: "text"在ajax设置中使用了;该方法
,然后从控制器返回了纯文本,使用分离了值 并在客户端进行了解析 。这样,IE和Forefox停止尝试下载响应。

除了返回纯文本外,我没有找到其他防止上述行为的方法。我尝试将JSON作为纯文本返回,然后使用$
.parseJSON进行解析,但是由于一些js错误,它无法正常工作。

2020-07-26