Ajax在返回json时表示未定义的属性

时间:2013-01-15 23:23:47

标签: jquery

我似乎有点腌渍。

我不能让ajax返回值UserID,我得到这个错误:Uncaught TypeError:无法读取未定义的属性'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并返回整个字符串。

1 个答案:

答案 0 :(得分:2)

当回显json时,您必须设置内容类型,因为浏览器无法识别PHP默认发送的字符串text/html是json,这意味着您的data变量不是您所期望的。公平地说,为什么浏览器应该将其解决?

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

之后死亡/退出是个好主意