0

我只想知道如何比较 JavaScript 中 $.ajax 调用产生的回声。我尝试了这个,即使我得到1了,它实际上并没有正确比较结果。

jQuery:

        $.ajax({
        type: "POST",
        url: "login.php",
        data: user,
        dataType: 'html',
        success: function(result)
        {
            alert(result);
            if(result == '1')
            {
                alert("logged in :D");
                //document.location.replace('home.php');
            }
            else
            {
                alert("not logged in :<");
            }
        },
        failure: function()
        {
            alert('An Error has occured, please try again.');
        }
    });

PHP:

<?php
session_start();
$host = "localhost";
$user = "root";
$passw = "";
$con = mysql_connect($host, $user, $passw);


if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

$json = $_REQUEST['json'];
$json = stripslashes($json);

$jsonobj = json_decode($json);

$password = $jsonobj->password;
$email = $jsonobj->email;

mysql_select_db("tinyspace", $con);

$result = mysql_query("SELECT 1 FROM users WHERE email = '"
                    . $email . "' AND password = '" . $password . "'");

 while($info = mysql_fetch_array( $result )) 
 { 
    if($info[0] == 1)
    {
        echo '1';
    }
}
 ?> 
4

2 回答 2

0

在回显的“1”之后可能有空格或换行符。检查开始标签之前是否没有空格<?php并删除结束?>标签(您可以这样做,这将防止意外的空白被输出。

您应该能够通过将 javascript 更改为:

alert('X' + result + 'X');

您很快就会看到 . 周围是否有任何空白result

于 2012-10-16T20:00:19.060 回答
0

尝试发送 json 响应

php:

echo json_encode(array(
    'status' => 'ok',
));

js:

dataType : "json",
success : function(response) {
    if (response.status == "ok") {
        alert('success');
    } else {
        alert('error');
    }
}
于 2012-10-16T20:08:45.647 回答