У меня проблемы с правильной настройкой моего объекта XMLHttpRequest для передачи данных POST на сервер.Данные (из HTML-формы) никогда не публикуются, или, по крайней мере, readyState == 4 && status никогда не достигаются.
function PostToAPI() {
var payersName = document.forms["myForm"]["payersName"].value;
var recipientPhoneNumber = document.forms["myForm"]["recipientPhoneNumber"].value;
var apiKey = document.forms["myForm"]["apiKey"].value;
var params = "payersName="+payersName+
"&recipientPhoneNumber="+recipientPhoneNumber+
"&apiKey="+apiKey;
alert(params); // Note#1
var Url = "https://api.blackShawls.af/c2b"; // Note#2
var xhr = new XMLHttpRequest();
xhr.open('POST', Url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = processRequest;
function processRequest(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText.headers.Host); // Note#3
}
}
xhr.send(params);
}
Примечания
(Примечание # 1) Это предупреждение дает следующий результат:
Это говорит о том, что различные поля из HTMLформа была успешно прочитана, и что на данный момент все работает отлично.
(Примечание # 2) Значение Url здесь вымышленное, в отличие отодному в моем коде.
(Примечание № 3) Кажется, что alert(xhr.responseText.headers.Host);
никогда не запускается, предполагая, что условия readyState
и status
никогда не выполняются.
Или может быть, что xhr.send(params)
никогда не отправляется?
Может кто-то любезно указать, где я ошибаюсь в своем коде?
С нетерпением жду вашей помощи.