0

我似乎有点吃醋了。

我无法让 ajax 返回值 UserID,我收到此错误:Uncaught TypeError: Cannot read property '0' of undefined。

继承人的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

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

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

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

于 2013-01-15T23:32:29.713 回答