0

少し漬け込んでいるようです。

ajaxで値UserIDを返すことができません。次のエラーが発生します:Uncaught TypeError:undefinedのプロパティ「0」を読み取れません。

PHPは次のとおりです。

$array = array(
    "UserID" => $row['UserID']
    , "runDate" => $row['runDate']
    , "firstName" => $row['firstName']
    , "Time" => $row['Time']
    , "Time" => $row['Distance']
);   
echo  json_encode($array);

そしてAJAX:

$.ajax({
    type: "POST",
    url: "searchbydateMySQLi.php",
    cache: false,
    dataType: "json",
    data: "date=" + $('input[name="date"]').val(),
    success: function(data){ 
        console.log(data.UserID[0]);
    },
});

データ型をHTMLに切り替えてみましたが、文字列全体が返されます。

4

1 に答える 1

2

text/htmljsonをエコーする場合、ブラウザはPHPがデフォルトで送信する文字列をjsonとして認識しないため、コンテンツタイプを設定する必要があります。これは、data変数が期待どおりではないことを意味します。公平を期すために、なぜブラウザはそれを解決する必要がありますか?

header("Content-type: application/json");
echo json_encode($array);
die;

そして、すぐに死ぬ/終了するのは良い考えです

于 2013-01-15T23:32:29.713 に答える