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