Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery AjaxComplete方法剥离自定义头?_Javascript_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript JQuery AjaxComplete方法剥离自定义头?

Javascript JQuery AjaxComplete方法剥离自定义头?,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,我试图在本SO帖子中遵循解决方案中的选项#3: 在jquery的ajaxComplete方法中读取自定义头时遇到问题 我已经在fiddler和chrome的调试工具中确认,自定义标题实际上正在被浏览器发回和接收 响应标题(在Fiddler中): 响应标题(由Chrome接收): 响应头(通过调用传入ajaxComplete的xmlHttpRequest变量上的“getAllResponseHeaders()”找到): 有趣的是,在返回原始ajax请求时调用的函数(由jquery启动)确实会收到未

我试图在本SO帖子中遵循解决方案中的选项#3:

在jquery的ajaxComplete方法中读取自定义头时遇到问题

我已经在fiddler和chrome的调试工具中确认,自定义标题实际上正在被浏览器发回和接收

响应标题(在Fiddler中):

响应标题(由Chrome接收):

响应头(通过调用传入ajaxComplete的xmlHttpRequest变量上的“getAllResponseHeaders()”找到):

有趣的是,在返回原始ajax请求时调用的函数(由jquery启动)确实会收到未经授权的头

有人知道这里发生了什么,我能做些什么来解决这个问题吗

下面是我的“ajaxComplete”javascript代码

$(document).ajaxComplete(function (event, request, settings) {
        alert(request.getResponseHeader('Unauthorized'));
    });

你可以看看。如果您在页面上使用相同的插件(ajaxmanager),可能会有所帮助。如果没有,请检查您的其他插件。

Vucetica的初始响应让我思考,我花了最后一个小时查看了jquery的代码。我有我的自定义标题回来了。看起来问题源于原始ajax请求的成功回调中代码中的未处理异常

我确实应该修复一些问题,但jquery允许自己以一种无声失败的方式受到影响,并且只影响自定义头,这似乎很奇怪。这种意想不到的行为一开始确实把我引向了错误的方向

无论如何,谢谢大家的帮助

为了完整起见,这里是我的前后代码

Before(在ajaxComplete方法中未收到自定义头)

之后(工作)


我事先确实看到过这样的帖子。我没有使用Ajax管理器。我确实加载了其他JS库,我会检查它们是否使用Ajax管理器或与ajaxComplete绑定,但在这一点上不太可能。确认,没有提及ajaxmanager,“Ajax管理器”,ajaxcomplete或ajaxsuccess除了我在原始帖子中提到的代码和jquery本身之外的任何地方。你知道“Content Type:application/json;charset=utf-8”来自哪里吗?在getAllResponseHeaders中有,但在chrome inspect中没有。另外,您可以发布原始ajax调用的getAllResponseHeaders的结果吗?
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
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
$(document).ajaxComplete(function (event, request, settings) {
        alert(request.getResponseHeader('Unauthorized'));
    });
$.ajax({
    type: "GET",
    url: "/Game/GetPlay/27?roundId=" + that.gameState.RoundToDisplay,
    contentType: "application/json; charset=utf-8",
    data: {},
    dataType: "json",
    success: function (play, request, settings) {
        that.play = play;
        that.startGame();
    },
    error: null,
    cache: false
});
$.ajax({
    type: "GET",
    url: "/Game/GetPlay/27?roundId=" + that.gameState.RoundToDisplay,
    contentType: "application/json; charset=utf-8",
    data: {},
    dataType: "json",
    success: function (play, request, settings) {
        that.play = play;
        try {
            that.startGame();
        } catch(err){

        }
    },
    error: null,
    cache: false
});