我想按照选项#3溶液中,在此SO职位:A controller action which returns a partial view inserts the logon page when authorization failsJQuery AjaxComplete方法剥离自定义标题?
我运行到阅读我的自定义标题在jQuery中的ajaxComplete方法的问题。
我已经提琴手和Chrome的调试工具的自定义标题,其实是被发回,并通过浏览器接收确认...
响应头(在小提琴手):
Server: ASP.NET Development Server/10.0.0.0
Date: Sun, 15 Jan 2012 04:00:13 GMT
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 3.0
Unauthorized: 1
Cache-Control: private
Content-Length: 0
Connection: Close
响应头(由铬原样):
Cache-Control:private
Connection:Close
Content-Length:0
Date:Sun, 15 Jan 2012 04:12:13 GMT
Server:ASP.NET Development Server/10.0.0.0
Unauthorized:1
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:3.0
响应头(从调用了XMLHttpRequest变量“getAllResponseHeaders()”找到送入ajaxComp勒特):
Date: Sun, 15 Jan 2012 04:42:21 GMT
X-AspNet-Version: 4.0.30319
Connection: Close
Content-Length: 65
X-AspNetMvc-Version: 3.0
Server: ASP.NET Development Server/10.0.0.0
Content-Type: application/json; charset=utf-8
Cache-Control: private
有趣的是,即在原来的AJAX请求的返回称为(由jquery的作为初始化)功能并接收未授权报头。
有没有人知道这里发生了什么,我能做些什么来解决这个问题?
这里是我的 “ajaxComplete” javascript代码
$(document).ajaxComplete(function (event, request, settings) {
alert(request.getResponseHeader('Unauthorized'));
});
我没看到,SO事先发布后。我没有使用Ajax Manager。我确实已经加载了其他的JS库,我将检查它们中的任何一个是否使用Ajax管理器,或者正在绑定到ajaxComplete自己,但在这一点上它不是一个可能的IMO。 – omatase 2012-01-15 05:38:01
确认,没有引用ajaxmanager,“ajax manager”,ajaxcomplete或ajaxsuccess,除了我在原始文章和jquery本身提到的代码之外的任何地方。 – omatase 2012-01-15 05:41:29
你知道“Content-Type:application/json; charset = utf-8”是从哪里来的吗?你可以在getAllResponseHeaders中使用它,但不能在chrome检查中使用。另外,你可以发布原始ajax调用的getAllResponseHeaders结果吗? – 2012-01-15 06:15:22