javascript - JQuery AjaxComplete 方法剥离自定义 header ?

标签 javascript jquery ajax asp.net-mvc

我试图在这个 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/

相关文章:

php - 为什么 codeigniter 的 session 会自动过期?如果在网页上使用ajax调用

Javascript - 检测用户点击导航弹出窗口的选项的方法

javascript - 如何使用 Ajax 每个函数和动态数量的 DIV 标签

javascript - Chrome/IE 7 上的 jquery Ui 组合框错误

javascript - 用javascript html5将整个图像包裹在圆柱形杯子上

jquery - 通过Jquery索引定位div内的img元素

jquery click 事件不适用于加载 ajax 的 div

javascript - 如何使用 jquery.shapeshift 禁用拖放?

javascript - 通过生成的 id 显示隐藏图像

javascript - jQuery 将自动完成结果放入文本区域