【发布时间】:2020-09-17 14:47:49
【问题描述】:
我正在练习 PHP 和 XMLHttpRequest 对象的使用。我正在尝试创建一个函数来检查用户名是否已被使用。
这是我的 javascript 函数:
function checkUser(username) {
if (username.length < 8) return 2;
request = new XMLHttpRequest();
request.open("POST", "checkUser.php?t=" + Math.random(), true);
request.setRequestHeader('Content-type', 'application/x-www-urlencoded');
params = 'nameToBeChecked=' + username;
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 200) {
if(request.responseText == "true") {
return 1;
}
else if (request.responseText == "false") {
return 0;
}
else console.log("ERROR: " + request.responseText);
}
}
request.send(params);
}
这是我的 PHP 文件:
require 'userActions.php';
if(isset($_POST['nameToBeChecked'])) {
if(fetch_userid($_POST['nameToBeChecked']) == null) echo "true";
else echo "false";
}
echo !isset($_POST['nameToBeChecked']) ? "Field doesn't exist" : "Field exists" ;
我的 PHP 文件的最后一行用于调试目的。我发现当我向 PHP 文件发送 POST 请求时,未在 PHP 文件中创建字段 nameToBeChecked。我在网上找不到问题所在。有人可以帮忙吗?
【问题讨论】:
标签: javascript php xmlhttprequest