我已经搜索了,看不到解决方案。我正在尝试使用ajax将电子邮件和密码发送到服务器,但是却收到未定义的索引电子邮件和密码。
我的Ajax代码
const form = {
emaillogin: document.getElementById('emaillogin'),
passwordlogin: document.getElementById('passwordlogin'),
pwdrepeat: document.getElementById('pwdrepeat'),
emailsignup: document.getElementById('emailsignup'),
passwordsignup: document.getElementById('passwordsignup'),
loginbutton: document.getElementById('formloginbtn'),
signupbutton: document.getElementById('formsignupbtn'),
messages: document.getElementById('serverResponse')
};
form.loginbutton.addEventListener('click', (e) => {
e.preventDefault();
const request = new XMLHttpRequest();
request.onload = () => {
console.log(request.responseText);
};
const requestData = {
email: form.emaillogin.value,
password: form.passwordlogin.value
};
console.log(requestData);
request.open('POST', './php/loginhandler.php');
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(requestData);
});
我的PHP脚本
if (isset($_POST['loginbtn'])) {
$email = $_POST['email'];
$password = $_POST['password'];
$ok = true;
$serverResponse = array();
require 'dbhandler.php';
var_dump($email);
//check to see if any field has been left blank
if (empty($email) || empty($password)) {
$ok = false;
$serverResponse[] = 'Fields cannot be empty';
exit();
} else { //do things.....