IE中的跨域Ajax发布请求

时间:2012-03-21 16:12:26

标签: ajax internet-explorer zend-framework

我正在尝试在ie中执行跨域ajax post请求。这是我的代码:

   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”,但这没有帮助。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

Haven'一个线索,为什么$ HTTP_RAW_POST_DATA为空。我现在使用php://input

解决了这个问题
$post = file_get_contents('php://input');
parse_str($post, $_POST);

此外我已经确定,只是请求转到那段代码,但这实际上取决于你在做什么。