1

好的,在我开始之前让我说我确实看过 SO 和其他地方的几乎所有答案。jq 表单上传问题和确信这个问题不同。

基本上发生的是文件上传正常,响应以 application/json 格式返回,并带有来自上传控制器的 ID。最初在 IE 中,响应提示下载并解决我将内容类型更改为 text/json (text/html,text/xml)。现在它不再提示下载,但是当我尝试访问响应以查找返回值时,它出现空。代码如下所示,xhr.responseText 为空。

 $('#upload-file-data-form').ajaxSubmit({
                    xhrFields: { withCredentials: true },
                    url: url,
                    dataType: "json",
                    data: { DataItems : "some data" },
                    complete: function (xhr) {
                        var json = xhr.responseText;
                        var data = $.parseJSON(json);
                        onDone(data.d);
                    },
                    errors: function () {
                        onFail();
                    }
                });

返回的 JSON 的提琴手提取物。

在此处输入图像描述

该应用程序在线托管在 SP 中,并且上传发生在 azure 中的 Web api 端点。由于这在 chrome 和 IE11 中运行良好,我假设这是 IE9 中的 CORS 问题。我已经搞砸了 2 多天了,我会为任何能对此有所了解的人买啤酒(不是开玩笑!:))。

干杯!

4

1 回答 1

0

可能是因为您的代码中有语法错误:

data: { "some data" }

选择(提交对象)

data: { name: "firstname"}

或数组

data: ["some data"]
于 2014-08-25T21:40:28.660 回答