2012-03-21 85 views
0

我正在尝试在ie域内发布跨域AJAX发布请求。这里是我的代码:在IE浏览器跨域AJAX发布请求

xdr = new XDomainRequest(); 
    xdr.onload = loading; 
    xdr.open("POST", "http://templater.pmueller.dev.xiag.ch/frontend/testlogin"); 
    xdr.send("customer_password="+$('#user_group__templater_login_password').val()+ 
      "&customer_username="+$('#user_group__templater_login_username').val()); 

而在服务器端,我尝试解析请求的身体像:

if(!isset($HTTP_RAW_POST_DATA)) { 
    parse_str($HTTP_RAW_POST_DATA, $_POST); 
} 

这是行不通的。 $ HTTP_RAW_POST_DATA似乎总是空的。我也尝试启用“always_populate_raw_post_data”,但这没有帮助。我做错了什么?

谢谢!

回答

0

避风港的线索为什么$ HTTP_RAW_POST_DATA是空的。我现在解决它使用php://input

$post = file_get_contents('php://input'); 
parse_str($post, $_POST); 

此外,我做了肯定,只是要求就是去那一段代码,但是这真的取决于你在做什么。