通过Ajax将PHP值返回到Javascript

通过Ajax将PHP值返回到Javascript,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以我一直在尝试从php脚本返回一个值到我的javascript文件中,但我想不出来。我知道我应该使用ajax,但我不确定它是如何工作的。我的php文件工作正常。它搜索数据库,如果找到该值,则返回true或false。现在我希望javascript文件中的变量等于php文件中的true或false,但是我不确定如何将该变量设置为php值。有人能帮我吗 我的php文件: <?php $username = "z"; $check; $host = "localhost"; $dbuser

所以我一直在尝试从php脚本返回一个值到我的javascript文件中,但我想不出来。我知道我应该使用ajax,但我不确定它是如何工作的。我的php文件工作正常。它搜索数据库,如果找到该值,则返回true或false。现在我希望javascript文件中的变量等于php文件中的true或false,但是我不确定如何将该变量设置为php值。有人能帮我吗

我的php文件:

<?php

$username = "z";
$check;

$host = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "iarenadatabase";

$conn = new mysqli($host, $dbusername, $dbpassword, $dbname);

if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno()) . ')' . mysqli_connect_error();
} else {

    $result = mysqli_query($conn, "SELECT * FROM iarenadbtable
WHERE Username LIKE '%{$username}%'");

    if ($result->num_rows) {
        $check = true;
        echo json_encode($check);
    } else {
        $check = false;
        echo json_encode($check);
    }

    $conn->close();
}

// header('Location: index.html');
exit;
?>
我假设“数据”最终应该等于真或假,但我不确定如何


编辑:无论我尝试使用数据还是仅使用console.log(“文本”),都不会在该成功函数中打印任何内容。似乎该部分没有被访问?

检查的
$check
值应该更像

{"success":"true"}

如果您想在javascript中使用一个布尔变量,它在php中表示$check变量。那么数据变量已经保存了这个值。

缩进代码对调试非常有帮助。执行console.log(数据)。。警报可能不会向您显示正确的信息。也就是说,当你用json回答问题时,你必须使用一个数组示例:
json\u encode(['success'=>true])
@Daniel这是不正确的
true
false
是完全有效的JSON响应,您的问题不清楚。您的代码看起来不错(除非您真的应该使用a)。如果没有达到预期效果,请详细说明。检查浏览器的控制台是否有错误。您还应该能够在网络中看到AJAX请求和响应tab@DanielJSON必须是一个有效的字符串,它可以包括标量值,如数字、带引号的字符串、布尔值和
null
以及对象和数组。请参见上面的讨论;这是不需要的,那么为什么我不能得到任何打印出来?我没有从alert或console.log获得任何信息。如果我在这个成功函数中运行console.log(“test”),那么即使只是尝试自己输出文本,也不会输出任何内容。似乎它没有访问success函数。@ChristopherTrubey这意味着您的PHP无法工作并产生错误。尝试直接在浏览器中打开
DBSearch.php
,并确保可以。也可以考虑添加<代码>错误<代码>回调到您的代码> $.AxAs()>代码> CALASS @菲尔说,您的PHP脚本可能有错误。您可以通过像这样的简单脚本进行测试,该脚本将始终返回false。请确保您有一个id为test的HTML元素,并且您的php文件脚本名为DBSearch.php,并且位于与js相同的路径中file@RamyMalak该脚本正确返回false,我的php脚本在搜索时正确返回true或false数据库中的用户名。我有一个id为test的html按钮,我的php文件和我的javascript文件在同一个文件夹中。
{"success":"true"}