好的,在我开始之前让我说我确实看过 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 多天了,我会为任何能对此有所了解的人买啤酒(不是开玩笑!:))。
干杯!