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 に答える