猿问

将 php 值与 javascript 变量进行比较?

我正在研究 php 和 javascript 项目。我只想比较 php 的 echo 返回值和 javascript 变量。


使用 echo 返回 'no' 的 php 后端代码


 if($connection){

    $sql ="SELECT secondname FROM account WHERE email = '$email' && password = '$password'";

    $searchquery = mysqli_query($connection, $sql);

    if(!(mysqli_num_rows($searchquery) == 0)) {

        $row = mysqli_fetch_array($searchquery);

        $secondname = $row['secondname'];

        echo $secondname ;

    } else {

       echo 'no';


    }

现在与javascript变量进行比较


$.post("signnin.php",{

               email: email,

               password: password,

           },

        function(data, status){

        if(data == 'no'){

          console.log('same');


        }else{

          console.log('not same');


        }

        });

如果值相同或不同,它会给出相同的结果。我也 JSON.stringify 但它仍然无法正常工作


慕斯709654
浏览 117回答 2
2回答

aluckdog

URL 的输出可能包含空格。JSON 是规范化它的好方法,但您需要在 PHP 端而不是 JavaScript 端应用它。    $secondname = $row['secondname'];    header("Content-Type: application/json");    echo json_encode([ "secondname" => $secondname ]); } else {    header("Content-Type: application/json");    echo json_encode([ "failure" => "Login failed" ]); }接着:    $.post(        "signnin.php",        { email, password },        function(data, status){            if(data.failure){                console.log('same');            } else {                console.log('not same');            }        }    );

慕标5832272

您可能在 PHP 脚本中发送了空格。有两种方法可以解决这个问题 -确保从第一行开始放置起始 php 标记,不要放置结束 php 标记 (?>)。不要比较文本,而是比较数字。在 php 脚本中 echo 1 和在 js 中比较数据==1。这样空格会被自动忽略。
随时随地看视频慕课网APP
我要回答