2016-05-13 2 views
1

Я ударяю головой о стену с этим. Ответ на мой вопрос должен быть here и here, и я не хочу публиковать дубликат. Но по какой-то причине мой код, хотя, похоже, точно такой же, как эти примеры, не будет работать.XMLHTTPтреки в Javascript/PHP с входными параметрами

Я пытаюсь передать идентификатор из функции Javascript функции PHP через xmlhttprequest. Вот моя функция JavaScript:

function acceptRequest(id_Request) 
{ 
var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "acceptRequest.php", true); 
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhttp.onreadystatechange = function() 
{ 
    if (xhttp.readyState == 4 && xhttp.status == 200) 
    { 
     alert("Request accepted."); 
    }; 
}; 
xhttp.send("id_Request="+id_Request); 
}  

Мой PHP-файл, acceptRequest.php, выглядит следующим образом:

<?php 
echo $_POST['id_Request']; 
?> 

Что происходит, что функция Javascript делает отправить уведомление: "Запрос принят." Но функция PHP не отгоняет ничего. Что мне здесь не хватает ???

ответ

0

Я думаю, проблема заключается в том, что ваша функция не передает никакого идентификатора. Я уверен в вашем php/javascript. Идентификатор, который вы хотите передать, находится в некотором поле ввода.

Затем в функции JS, можно сказать,

Var ID = document.getElementById ("Ид of_input") значение.

Затем вы можете добавить это вам запрос Ajax.

Я также заметил, что ваш Ajax не получил ответа от php.

if(xmlhttp.readyState == 4 &&.  xmlhttp.status == 200){ 
    document.getElementById(where).innerHTML = xmlhttp.responseText; 

}

В вашем случае, it'ld быть xhttp.responseText;

Эта строка означает, что вы хотите отобразить результаты запроса Ajax.

+0

Это имеет смысл, но даже если у меня есть его «тест» или какая-то другая константа, он все равно ничего не печатает. –

+0

Я вижу проблему. В вашем php-скрипте не тот, который был связан с вашим запросом Ajax. В ответе нет места, где создается div, и дайте ему идентификатор. Теперь в вашей js-функции, где код говорит, что если xhttp = 4 & 200 ... поместите этот код внутри этого оператора, var theDiv = document.getElementById ("id_of_the_new_div"). Затем theDiv.innerHTML = xhttp.responseText; теперь вы можете получить ответ от Ajax php. –

+0

Код, измененный ... надеюсь, что вы сочтете это полезным –

Смежные вопросы