javascript - 使用 post 方法时对 php 的 AJAX 调用不返回值

标签 javascript php ajax

PHP 代码

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "ngram";

    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    $uid =$_REQUEST["username"];
    $sql = 'select * from user_db where username like '.'"'.$uid.'"';
    $result = $conn->query($sql);
    //echo $sql;
    if ($result->num_rows > 0) 
    {
        $conn->close();
        echo (0);
    }
    else 
    {   
        $conn->query("insert into user_db values('".$_REQUEST["name"]."','".$_REQUEST["username"]."','".$_REQUEST["email"]."','".$_REQUEST["pass"]."')");
        $conn->close();
        echo (1);
    } 

?>

function connectDb(formElement)
{
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","signup.php",true);
    xmlhttp.onreadystatechange=function() 
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            myFunction(xmlhttp.responseText);
        }
    }
    xmlhttp.send(new FormData (formElement));
}
function myFunction(response)
{   
    if(response != 1)
    {
        window.open("error.html","_self");
    }
    else
    {
        window.open("login.html","_self");
    }
}

这里 javascript 能够发送请求,但 php 没有返回任何值。值被添加到数据库中,但页面不会更改。只有返回的值才会显示在屏幕上。

最佳答案

您编写了return $r,但没有编写访问它的函数。编写一个函数或编写echo $r;

关于javascript - 使用 post 方法时对 php 的 AJAX 调用不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40239845/

相关文章:

javascript - js 添加删除类

php - 使用 PHP 插入 MySql DB 不工作

jquery - 用户端数据的 Ajax 请求监听器

php - 我的 SQL Ajax 表不断重复 ID、用户名等

PHP 数组转换为 Json 并将数据恢复到网页中

javascript - nuxt 应用程序的 vue-social-sharing 中的 Vuetify 按钮

javascript - 如何仅删除所选延迟加载视频上的覆盖图像?

javascript - 未捕获的类型错误 : undefined is not a function

javascript - PHP json_decode 无法解析 JS JSON

php - PHPMyAdmin 中的 session 时区