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