我试图在此SO帖子中遵循解决方案中的选项#3:A controller action which returns a partial view inserts the logon page when authorization fails
我在读取jquery的ajaxComplete方法中的自定义标头时遇到问题。
我已经在小提琴手和chrome的调试工具中确认,自定义标头实际上是由浏览器发送回并接收的...
响应标题(在Fiddler中):
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
响应标题(Chrome收到):
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
响应标头(从传递给ajaxComplete的xmlHttpRequest变量上调用“ getAllResponseHeaders()”时发现):
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发起)时调用的函数确实会收到Unauthorized标头。
有谁知道这是怎么回事,我能做什么来解决这个问题?
这是我的“ ajaxComplete” JavaScript代码
$(document).ajaxComplete(function (event, request, settings) {
alert(request.getResponseHeader('Unauthorized'));
});
最佳答案
您可以看一下here。如果您在页面上使用相同的插件(ajaxmanager),则可能会有所帮助。如果没有,请检查您的其他插件。
关于javascript - jQuery AjaxComplete方法剥离自定义标题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8867581/