我用这个把我的头撞在墙上。我的问题的答案应该为here和here,并且我不想发布重复的内容。但是由于某种原因,我的代码虽然看上去与这些示例完全相同,但却无法正常工作。
我试图通过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函数中,您可以说
变量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请求结果的位置。