WebWorks AJAX Cross запрос домена
Я работаю над приложением playbook с помощью webworks sdk. Я пытаюсь сделать HTTP-запрос (метод: сообщение), отправив И получения данных. Я могу получить ответ от сервера, но сервер не может получить данные $POST, когда я пытаюсь отобразить $_POST['apiKey'], ничего не появляется, я 100 раз проверил свой код, проверил свой config.xml на uri, не могу найти ошибку.
TL; DR: не может отправлять, но может получать данные.
Мой код PHP-сервера:
echo "passed key is: ".$_POST["apiKey"]; // Nothing apears
echo "<br>";
if(md5($_SESSION['private_key'])===$_POST["apiKey"]){
}
else{
echo "Invalid API Key"; // Always getting this response on client app
exit();
}
?>
Мой код клиента JS:
function httpRequest(){
var key="a984a4474cff54d8468a296edf3af65b";
document.getElementById("status").innerHTML="Reaching server...";
//////////////////////////////////////
var xdr = getXDomainRequest();
xdr.onload = function() {
document.getElementById("status").innerHTML=xdr.responseText;
}
xdr.open("POST", "http://mydomain/index.php");
xdr.send("apiKey="+key);
}
Решено: При использовании метода POST вы должны определить заголовок запроса:
xdr.open("POST", "http://mydomain.com/index.php");
xdr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // with this line
xdr.send("apiKey="+key);
1 ответ
Решение
Решено: При использовании метода POST вы должны определить заголовок запроса:
xdr.open("POST", "http://mydomain.com/index.php");
xdr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // with this line
xdr.send("apiKey="+key);