2012-04-20 35 views
0

我有以下的jQuery代码,并在Internet Explorer中的mindbreaking问题,还有什么地方...jQuery的AJAX请求Internet Explorer的PHP文件 - > NO/HTML文件 - > YES

$.ajax({ 
    type: "POST", 
    url: "test.php", 
    //url: "test.html", 
    dataType: "text", 
    cache: false, 
    error:function(xhr, status, errorThrown) { 
     alert(errorThrown+" -- "+status+" -- "+xhr.statusText); 
    }, 
    success:function(callback) { 
     alert("Success, also in IE"); 
    }, 
    async: false 
}).responseText; 

我的问题是,IE浏览器不会像test.html文件一样使用相同的测试内容“接受”test.php文件!使用脚本工作的html文件,但我想使用ajax请求运行一个php脚本...问题是什么?

谢谢!

+3

**不要使用同步AJAX。 **你也可以在'success'回调中访问'responseText'! – ThiefMaster 2012-04-20 21:44:24

+3

IE中发生了什么并不是你期望/想要发生的事情?你有Javascript错误吗?错误回调是否被执行而不是成功呢? – 2012-04-20 21:46:29

+0

谢谢你的快速回答。 ajax请求中的错误和成功只是为了看看IE中发生了什么。例如,我的test.html的全部内容是“测试”,IE正确返回“测试”,但我必须发送一个请求到一个PHP文件...这是行不通的。在IE中我只得到错误!我错了什么? – user1347509 2012-04-20 21:58:59

回答

1

为问题的解决方案上面的是:

header('Content-Type: text/html; charset=utf-8'); 
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); 

对于Internet Explorer中的头被丢失或不被服务器设置正确......