1

なぜ動かないのかしら?

check_login.php

<?php
session_start();
$data = array("username" => "true");
echo json_encode($data);
?>

私のjsファイルvarlinkName;

$.ajax({
    type: "POST",
    url: "check_login.php",
    dataType: "json",
    success: function(json){
    if(json.username != "true")
    {
      //do something
    }
    }
});

セッション変数を渡すなど、ユーザーがphpファイルにまだサインインしているかどうかを確認した後、ユーザー名を取得しようとしています。しかし、現在、文字列を渡すことにはすでに問題があるようです。私がここで何を間違えたか知っている人はいますか?

上記のコードはまだ機能していません。誰かがここで私を助けたいですか?

4

5 に答える 5

4

PHPコードにエラーがあります。3行目では角括弧]は必要ありません。もちろん、echo json_encode($ data);を使用する必要があります。

于 2012-09-22T06:16:52.947 に答える
1
    `if(json.data.username != "true")` is wrong you do not have data object

    `if(json.username != "true")` try this
于 2012-09-22T06:19:27.767 に答える
1

ajaxを使用して取得するページに文字列データが含まれるように、jsonデータをエコーする必要があります。

<?php
session_start();
$data = array("username" => "true");
echo(json_encode($data));
?>

$.ajax({
    type: "POST",
    url: "check_login.php",
    dataType: "json",
    success: function(json){
       console.log(json)
    }
});

また、phpのヘッダーのコンテンツタイプをjsonに設定する必要がある場合もあります。

于 2012-09-22T06:19:35.473 に答える
0

ヘッダーを送信してみてください

header("Content-Type: application/json", true);
print json_encode($data);
于 2014-02-15T21:17:08.550 に答える
-1
 return json_encode($data);

jsonでエンコードするのではなく、データを返す必要があると思います。

于 2012-09-22T06:17:08.683 に答える