未定义的索引电子邮件:ajax POST中的错误

时间:2020-07-29 10:10:27

标签: javascript php ajax forms

我已经搜索了,看不到解决方案。我正在尝试使用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.....

0 个答案:

没有答案