从PHP向Ajax返回True/False

从PHP向Ajax返回True/False,php,ajax,Php,Ajax,在过去的一天中,我一直在尝试向Ajax返回真布尔值或假布尔值 过程:某人提交表单>发送到PHP文件>从PHP,检查所有内容是否正确。如果是,则返回true并回显“correct”>输出结果。在这种情况下,它必须回显正确。检查一下是真是假 问题是,它总是返回一个false。即使一切都是正确的。因此,当我的登录正确时,它将返回一个correct,正如我所期望的那样。但它不会返回一个真实的结果 我的表格: <form id="loginform" class="col s12" name="lo

在过去的一天中,我一直在尝试向Ajax返回真布尔值或假布尔值

过程:某人提交表单>发送到PHP文件>从PHP,检查所有内容是否正确。如果是,则返回true并回显“correct”>输出结果。在这种情况下,它必须回显正确。检查一下是真是假

问题是,它总是返回一个false。即使一切都是正确的。因此,当我的登录正确时,它将返回一个
correct
,正如我所期望的那样。但它不会返回一个真实的结果

我的表格:

<form id="loginform" class="col s12" name="loginform" method="post">
    <div class="input-field col s12">
        <i class="fas fa-user material-icons prefix"></i>
        <input id="hn" type="text" class="validate" name="hn">
        <label for="hn">Gebruikersnaam</label>
    </div>
    <div class="input-field col s12">
        <i class="fas fa-key material-icons prefix"></i>
        <input id="ww" type="password" class="validate" name="ww">
        <label for="ww">Wachtwoord</label>
    </div>
    <button class="mui-btn mui-btn--raised mui-btn--primary" id="forminlog"><i class="fas fa-chevron-right"></i> Inloggen</button>
PHP:


从您的
登录()函数返回两件事:

  • 信息
  • 布尔值
因此,我建议您将数据输出为json字符串,如下所示:

在使用
login()
函数之前,声明一个数组:

$response = [];
然后,在你所有的条件下。。。只需相应地设置
msg
success
,例如,如果登录正确:

$response["msg"] = "You're logged in buddy!";
$response["success"] = true;
在所有条件
echo
结束时,将数组作为json字符串:

echo json_encode($response);
它将发送以下字符串:

{"msg":"You're logged in buddy!","success":true}
**确保
echo
是该PHP文件中唯一的
echo

现在在客户端,在
success
回调中,它将是:

success: function(output) {

        // Parse the string.
        var json = JSON.parse(output);

        swal(json.msg); // Sweet Alert...
        if(json.success){
            // something to do with the boolean true
        } else {
            // Something else
        }
    }

JS脚本对php代码中返回的值一无所知。JS脚本获取php代码的输出。在php代码中,而不是返回true,您应该编写echo true。这将通过javascript作为布尔值进行解析。我建议查看您的浏览器控制台,看看php调用的输出是什么。既然您想输出JSON,我很确定您不应该有
echo“corrected gevens”在它之前。@suraj谢谢,我在返回true之前删除了echo,并将其更改为echo true。工作汉克!;)享受定制的乐趣。。。您现在可以发送任意数量的信息。;)
{"msg":"You're logged in buddy!","success":true}
success: function(output) {

        // Parse the string.
        var json = JSON.parse(output);

        swal(json.msg); // Sweet Alert...
        if(json.success){
            // something to do with the boolean true
        } else {
            // Something else
        }
    }