Javascript 如何获取响应文本?

Javascript 如何获取响应文本?,javascript,php,Javascript,Php,这是我的register.js var formdata = new FormData(); formdata.append("name", name.value); formdata.append("username", username.value); formdata.append("email", email.value); formdata.append("password", password.value); var ajax = new XMLHtt

这是我的register.js

var formdata = new FormData();
    formdata.append("name", name.value);
    formdata.append("username", username.value);
    formdata.append("email", email.value);
    formdata.append("password", password.value);
var ajax = new XMLHttpRequest();
var response = eval(ajax.responseText);
    alert(response);
    ajax.open("POST", "/req/register/register.req.php");
    ajax.send(formdata);
这是我的register.req.php

require '../../inc/global.inc.php';
    ini_set('display_errors', 0);

    list($first_name, $last_name) = explode(" ", $_POST['name']);
    $db->query("INSERT INTO users (first_name, last_name, username, password, email) VALUES ('%s', '%s', '%s', '%s', '%s')", $first_name, $last_name, $_POST['username'], md5($_POST['password']), $_POST['email']);
    header('Content-Type: application/json');
    echo json_encode(array('OK'));

问题是如何获得'OK'字符串,因为var response=eval(ajax.responseText);只获取一个“未定义”变量。

您可以在onreadystatechange方法中获取响应

var ajax = new XMLHttpRequest();
ajax.onreadystatechange=function()
{
   if (ajax.readyState==4 && xmlhttp.status==200)
   {
      var response = ajax.responseText;
      alert(response);
   }
}
ajax.open("POST", "/req/register/register.req.php");
ajax.send(formdata);

警告:您的代码极易受到sql注入攻击!!!!!不,因为类中是solve,您需要将
onLoad
onreadystatechanged
事件附加到xmlhttprequest。只需使用这个示例var response=eval(ajax.responseText);结束代码。另外,不要使用eval。只需使用
JSON.parse
My荣幸:)。接受这个答案。快乐编码。