2012-03-21 87 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); 

此外,我做了肯定,只是要求就是去那一段代碼,但是這真的取決於你在做什麼。