Javascript Jquery ajax在IE中报告404而不是401
我有一个web应用程序,它使用google drive api上传文件。如果验证过期,我们将返回401,允许应用程序重新验证并重试。这在Chrome中运行良好,401返回,一切都很美好 然而在IE10中,jqXHR.status是404而不是401。当我查看IE网络探查器时,请求实际上返回401,但不是jquery给出的:Javascript Jquery ajax在IE中报告404而不是401,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,我有一个web应用程序,它使用google drive api上传文件。如果验证过期,我们将返回401,允许应用程序重新验证并重试。这在Chrome中运行良好,401返回,一切都很美好 然而在IE10中,jqXHR.status是404而不是401。当我查看IE网络探查器时,请求实际上返回401,但不是jquery给出的: https://www.googleapis.com/upload/drive/v2/files/0B_Z9rTaY-rm0T2xGRC1LcjdrTnM?uploadTyp
https://www.googleapis.com/upload/drive/v2/files/0B_Z9rTaY-rm0T2xGRC1LcjdrTnM?uploadType=multipart
PUT 401 application/json 508 B
437 ms XMLHttpRequest 74272 0 374 0 0 433979
IE中的控制台错误
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
示例ajax调用
$.ajax("https://www.googleapis.com/upload/drive/v2/files" + up + "?uploadType=multipart", {
data: data,
headers: {Authorization: 'Bearer ' + self.authResult.access_token},
contentType: false,
processData: false,
type: fileId != null ? 'PUT' : 'POST',
success: function(data) {
log.debug("upload complete");
},
error: function(jqXHR, textStatus, errorThrown) {
var errorCode = jqXHR.status;
log.error("failed to upload file " + errorCode);
}
}
下面是一个类似的问题,但我已经在做使用错误回调的建议解决方案:
我需要确定这实际上是一个401错误,以便启动重新身份验证过程。为什么401是隐藏的?我如何确定是身份验证错误导致请求失败?你在问什么?为什么会这样?怎么处理?嗨,菲尔。我已在问题中补充了这一点。我想知道看跌期权是否因401而失败。这似乎是一个jquery/IE错误,所以任何有助于我走上正轨的背景信息都会很好。谢谢