1 回答
TA贡献1789条经验 获得超10个赞
首先,您可以检查请求是否作为 POST 请求发送(在浏览器中打开 register.php 将是 GET 请求)。
您可以通过这样的方式包装您的表单处理
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// check if username exists
if (isset($_POST['username'])) {
echo 'username: ' . $_POST['username'];
die;
} else {
echo 'no username';
die;
}
}
相应地更改代码,用于echo json_encode($data)以 JSON 格式返回数据。
在您的请求中,您可能需要添加正确的标头来告诉 PHP 如何解释随请求一起发送的正文。
function validateUsername(){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
console.log(xhttp.responseText);
}
};
// add this line
xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhttp.open("POST", "../obrasci/registracija.php", true);
xhttp.send("username="+username.value);
}
另外,请确保您的命名正确。在你的代码示例中,你将你的输入称为变量username,但是你将事件侦听器添加到kor_ime,我不知道你是否将某些内容更新为英语并忘记了它的其他部分以解决这个问题或者这是否是你的实际代码
let username= document.getElementById('username');
username.addEventListener('input', validateUsername); // here change kor_ime to username and update the function name, you can omit the extra function wrapper
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报