Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax只能同步工作_Javascript_Php_Ajax_Asynchronous_Xmlhttprequest - Fatal编程技术网

Javascript Ajax只能同步工作

Javascript Ajax只能同步工作,javascript,php,ajax,asynchronous,xmlhttprequest,Javascript,Php,Ajax,Asynchronous,Xmlhttprequest,我有以下设置ajax请求的代码: function sendAjaxRequest() { ajax.open("post", "form.php", false); ajax.setRequestHeader("Content-Type", "application/json"); ajax.onreadystatechange = gotResponseFromServer(); ajax.sen

我有以下设置ajax请求的代码:

function sendAjaxRequest() {
            ajax.open("post", "form.php", false);
            ajax.setRequestHeader("Content-Type", "application/json");
            ajax.onreadystatechange = gotResponseFromServer();
            ajax.send(jsonObject);

        }
    <?php
    require_once "database_connection.php";
    con = mysqli_connect($host, $user, $password,$db)  OR die("Failed to connect to MySQL: " . mysqli_connect_error());
    $data = file_get_contents("php://input");
    $decodedData = json_decode($data);


    //$verifyCode = md5(rand()."");
    $name = $decodedData->{'name'};
    $surname = $decodedData->{'surname'};
    $email = $decodedData->{'email'};
    $phone = $decodedData->{'phone'};
    $birthDate = $decodedData->{'birthDate'};
    $studies = $decodedData->{'studies'};
    $work = $decodedData->{'work'};
    $married = $decodedData->{'married'};
    $skills = $decodedData->{'skills'};
    $hobby = $decodedData->{'hobby'};
    $city = $decodedData->{'city'};
    $gender = $decodedData->{'gender'};
    $baptized = $decodedData->{'baptized'};
    $suggestions = $decodedData->{'suggestions'};
    $sql = "INSERT INTO Voluntari (_name, _surname, _email, _phone, _birthDate, ".
            "_studies, _work, _married, _skills, _hobby, _city, _gender, _baptized, _suggestions) ".
            "VALUES ('$name', '$surname', '$email', '$phone', '$birthDate', '$studies', '$work', '$married',".
            "'$skills', '$hobby', '$city', '$gender', '$baptized', '$suggestions'  );";

    if(!mysqli_query($con,$sql)) {
        die('Error: ' . mysqli_error($con));
    } else {
        //sendConfirmationMail();
        echo "added";
    }

    mysqli_close($con);
?>
这是一个执行请求的php:

function sendAjaxRequest() {
            ajax.open("post", "form.php", false);
            ajax.setRequestHeader("Content-Type", "application/json");
            ajax.onreadystatechange = gotResponseFromServer();
            ajax.send(jsonObject);

        }
    <?php
    require_once "database_connection.php";
    con = mysqli_connect($host, $user, $password,$db)  OR die("Failed to connect to MySQL: " . mysqli_connect_error());
    $data = file_get_contents("php://input");
    $decodedData = json_decode($data);


    //$verifyCode = md5(rand()."");
    $name = $decodedData->{'name'};
    $surname = $decodedData->{'surname'};
    $email = $decodedData->{'email'};
    $phone = $decodedData->{'phone'};
    $birthDate = $decodedData->{'birthDate'};
    $studies = $decodedData->{'studies'};
    $work = $decodedData->{'work'};
    $married = $decodedData->{'married'};
    $skills = $decodedData->{'skills'};
    $hobby = $decodedData->{'hobby'};
    $city = $decodedData->{'city'};
    $gender = $decodedData->{'gender'};
    $baptized = $decodedData->{'baptized'};
    $suggestions = $decodedData->{'suggestions'};
    $sql = "INSERT INTO Voluntari (_name, _surname, _email, _phone, _birthDate, ".
            "_studies, _work, _married, _skills, _hobby, _city, _gender, _baptized, _suggestions) ".
            "VALUES ('$name', '$surname', '$email', '$phone', '$birthDate', '$studies', '$work', '$married',".
            "'$skills', '$hobby', '$city', '$gender', '$baptized', '$suggestions'  );";

    if(!mysqli_query($con,$sql)) {
        die('Error: ' . mysqli_error($con));
    } else {
        //sendConfirmationMail();
        echo "added";
    }

    mysqli_close($con);
?>

我做错了什么?如何使请求保持异步并使脚本工作?

如果您看这里,例如:您将看到参数的描述如下:

openmethod,url,异步 方法:请求的类型:GET或POST url:文件在服务器上的位置 异步:真异步或假同步


要使请求异步,必须调用ajax.openpost、form.php、true

除非对函数gotResponseFromServer的调用返回另一个函数,否则它可能是

ajax.onreadystatechange = gotResponseFromServer;

i、 e.您希望将函数分配给onreadystatechange,而不是其返回值。

您是如何定义ajax的?它是一个jQuery变量吗?不,如果可行的话,它是xmlhttprequestry和jQuery。这不会回答OP的查询。是的..我知道..但问题是表单不会以async true插入数据库