Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
jquery ajax仅在IE上没有返回数据_Jquery_Ajax_Internet Explorer - Fatal编程技术网

jquery ajax仅在IE上没有返回数据

jquery ajax仅在IE上没有返回数据,jquery,ajax,internet-explorer,Jquery,Ajax,Internet Explorer,我有一个ajax调用,它在Chrome、FF和Safari上运行良好,但在IE上总是失败(“成功但没有数据”)。 我检查了服务器日志,正确的响应总是会触发,但IE仍然显示空响应,并且没有捕获正确的302HTTP状态代码。 我尝试了许多组合,发现在使用contentType时:“text/html;charset=utf-8”IE确实会得到响应,但问题是$\u POST数组是空的,因为发送POST应该是contentType:“application/x-www-form-urlencoded;c

我有一个ajax调用,它在Chrome、FF和Safari上运行良好,但在IE上总是失败(“成功但没有数据”)。 我检查了服务器日志,正确的响应总是会触发,但IE仍然显示空响应,并且没有捕获正确的302HTTP状态代码。 我尝试了许多组合,发现在使用contentType时:“text/html;charset=utf-8”IE确实会得到响应,但问题是$\u POST数组是空的,因为发送POST应该是contentType:“application/x-www-form-urlencoded;charset=utf-8”

这是我的javascript:

这是我的PHP响应(mypage.PHP):

只有在IE7-9上,我才能在其他浏览器上获得“成功但没有数据”的效果。 有什么想法吗?谁


谢谢

是否发送位置标题

标题(“位置:”,$loginUrl)


看看14.30位置:

问题在于IE试图遵循重定向位置,这不是我在JS中想要做的。 我所做的解决方法是将响应更改为200OK,让JS检测URL是否响应,然后对其进行处理:


不,我不知道,但是当将其更改为状态200时,确定相同的结果:无数据成功。myProtocol和myHost与客户端相同吗?是的,请注意,我在服务器端看到了请求,并且在服务器日志中看到了相应的响应。还请注意,这不是跨域请求!在complete:function(data){console.log(data);}中发生了什么?也尝试了,没有得到相同的结果。回答如下:

function someFunc() {   
  $.ajax({
    cache: false,
    async: false,
    type: 'POST',
    dataType: 'html',
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
        //contentType: "text/html; charset=utf-8",
    url: myProtocol + myHost + "/mypage.php",
    data: {action: "someAction"},
    success: function( data ) {
        if (data == ""){
            alert("success but no data");
            return;
        }
        // do something...
        return;
    },
    error: function( data ) {
        if (data.status == "302"){
                            // do something...
            return;
        } else {
            // do something...
            return;
        }
    }
});

  return;
}
    

$loginUrl = "someUrl";
header("HTTP/1.1 302 Found");
header("Content-Type: text/html; charset=utf-8");
Header("Content-Length: " . mb_strlen($loginUrl, "8bit"));
header("Connection: close", true);
echo $loginUrl;
success: function( data ) {
    if (data.match('http://') || data.match('https://')){
        window.parent.location = data;
        return;
    } else {
            var url = (window.location != window.parent.location) ? document.referrer: document.location;
        window.parent.location = url;
        return;
    }
}