Php 尝试了解更多关于XMLHttpRequest的细节
这就是我要做的。我有一个表单,其中一个值是用户名。我想检查数据库中是否已经存在该用户名。因此,我为表单设置了一个JavaScript函数作为Php 尝试了解更多关于XMLHttpRequest的细节,php,ajax,Php,Ajax,这就是我要做的。我有一个表单,其中一个值是用户名。我想检查数据库中是否已经存在该用户名。因此,我为表单设置了一个JavaScript函数作为onsubmit。在我的函数中 xhttp.open("POST","AjaxTest.php",false); xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhttp.send("Username=Leroy1981&Found=0");
onsubmit
。在我的函数中
xhttp.open("POST","AjaxTest.php",false);
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhttp.send("Username=Leroy1981&Found=0");
A它指向正确的文件,但是我不知道如何访问send命令中发送的数据,而且我仍然不知道如何发送结果,一旦php文件检查了数据库中提供的用户名。用户名是表单中的输入类型,所以它被发送,但我得到了未定义的常量
另一个问题,如何在php文件中设置
XMLHttpRequest
响应?我可能知道如何检索该响应并发送“find”或“Not Found”,但不知道如何在php文件中访问它。而且,完成后,它不会自动从php文件返回,这就是我所认为的工作方式。您可以使用此函数调用您的文件
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "AjaxTest.php?Username=Leroy1981", true);
xhttp.send();
}
输出将在变量this.responseText中
您的PHP文件应该如下所示
$user = $_GET['User'];
//Your db operations
$yourResponse = "whatever you want";
echo $yourResponse; //This will be your responseText in JavaScript
另一个问题,如何在php文件中设置XMLHttpRequest响应?我可能知道如何检索它,只发送“find”或“notfound”,但不知道如何在php文件中访问它。另外,当它完成时,它不会自动从php文件返回,这就是我认为它是如何工作的。顺便说一句,对于web编程来说,这是一个全新的工作方式。如果这一部分不是显而易见的,我已经投票决定关闭它,因为它看起来是一个副本。如果不是这样,请用更多的代码编辑您的问题,包括您正在尝试的完整代码集,详细说明它不起作用的原因/位置,以便我们可以更好地帮助您。
xhttp.open(“POST”,“AjaxTest.php”,false)代码>-您正在发出同步请求。这已被弃用,并在请求进行时锁定UI。不要这样做。“如何在php文件中设置XMLHttpRequest响应”-与在任何其他php文件中设置响应相同。请求是由JS触发的这一事实是不相关的。因此,我在php脚本末尾的回应是responseText中的内容?我想我可以使用GET发送用户名,如果数据库中还没有,$_POST['username]设置为空,谢谢你提供的信息。查了一下,发现情况就是这样。关于echo设置响应ExtIf我的答案帮助您标记它,以便具有相同问题的其他人可以看到它