我的头撞在墙上了。我的问题的答案应该在这里和这里,我不想发布重复的。但由于某种原因,我的代码虽然看起来与这些示例完全相同,但无法工作。
我试图通过xmlhttprequest将一个ID从Javascript函数传递给PHP函数。这是我的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函数没有响应任何内容。我在这里错过了什么???
我想问题是您的函数没有传递任何id。我确信在您的php/javascript中。您要传递的id在某个输入框中。
然后在你的js函数中,你可以说
Var id=document.getElementById("id-of_input").value;
然后,您可以将其附加到Ajax请求中。
我还注意到Ajax没有从php得到响应。
if(xmlhttp.readyState == 4 &&. xmlhttp.status == 200){
document.getElementById(where).innerHTML = xmlhttp.responseText;
}
在您的情况下,它将是xhttp.responseText;
这一行只是表示您希望在哪里显示Ajax请求的结果。