Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 XMLHttpRequest响应在Internet Explorer中没有头_Javascript_Extjs_Xmlhttprequest - Fatal编程技术网

Javascript XMLHttpRequest响应在Internet Explorer中没有头

Javascript XMLHttpRequest响应在Internet Explorer中没有头,javascript,extjs,xmlhttprequest,Javascript,Extjs,Xmlhttprequest,我正在使用ExtJS对一个服务进行XMLHttpRequest,该服务不返回responseText,只返回204和响应头。使用Firefox可以完美地调用,但使用InternetExplorer8时,两个警报框都是空的。我做错了什么 Ext.Ajax.request({ url: 'services/getNearby', method: 'GET', params: { 'lat': 34, 'lon': -90 },

我正在使用ExtJS对一个服务进行XMLHttpRequest,该服务不返回responseText,只返回204和响应头。使用Firefox可以完美地调用,但使用InternetExplorer8时,两个警报框都是空的。我做错了什么

Ext.Ajax.request({
    url: 'services/getNearby',
    method: 'GET',
    params: {
        'lat': 34,
        'lon': -90
    },
    headers: {
        'Authorization': AUTH_TOKEN
    },
    success: function(response) {
        if (response.status == 204) {
            alert(response.getAllResponseHeaders());
            alert(response.getResponseHeader('Total-Nearby'));
        }
    },
    failure: function(response) {
        alert('Server status ' + response.status);
    }
});
据该网站称,这是一个IE 7/8错误:

IE0013:IE XMLHTTP实现 将204响应代码转换为伪代码 1223状态代码

这里描述 这个 IE中的XMLHTTPRequest对象将 返回状态代码1223并删除 所有响应头,如果服务器 返回一个HTTP/204无内容文件 答复

这是由内部设计引起的 URLMon的工件(绑定返回) 如果服务器发生故障,操作中止(1223) 不返回任何内容以响应 请求)

在IE8、IE7(可能还有 早些时候)

解决方法:将“1223”视为等效项 到204。注意:HTTP头仍然存在 在这种情况下不可用

如果您看到的是空警报,这意味着IE没有将状态代码更改为1223,那么该部分错误可能已经修复。然而,我更担心的是这种说法:

注意:在这种情况下,HTTP头仍然不可用


因为这似乎是你面临的问题。您是否需要使用不响应内容的服务?您可能更适合返回带有消息正文的典型响应。

幸运的是,我可以更改服务。谢谢204是rfc规范定义的典型状态代码。@user2524908在我的回答中,我在哪里暗示204不是规范定义的正确状态代码?这是IE7/8不能正确处理ajax 204s的一个问题,如我在上面的回答中所述。