比较$ .ajax结果

时间:2012-10-16 19:46:32

标签: php javascript jquery ajax

我想知道如何比较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';
    }
}
 ?> 

2 个答案:

答案 0 :(得分:0)

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

您应该可以通过将javascript更改为:

进行检查
alert('X' + result + 'X');

如果result周围有任何空格,你很快就会看到。

答案 1 :(得分:0)

尝试发送json响应

PHP:

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

JS:

dataType : "json",
success : function(response) {
    if (response.status == "ok") {
        alert('success');
    } else {
        alert('error');
    }
}