解析来自 Ajax 调用的 JSON 响应时出现问题

问题描述 投票:0回答:1

我使用 Ajax 调用从数据库中查找单个记录,响应返回并且 JSON.parse 不起作用(“意外的标识符“对象””),但当我尝试访问任何数据时,我也会得到未定义的结果其中作为对象的值。

Ajax 调用是:

 $.ajax({
                type        : 'POST', // define the type of HTTP verb we want to use (POST for our form)
                url         : 'php/mannoteslookup.php', // the url where we want to POST
                data        : formData, // our data object
                dataType    : 'json', // what type of data do we expect back from the server
                encode        : true,
                success: function(data) {
                    console.log(data);
                    JSON.parse(data);
                    var name = data.lastname;
                    console.log(name);
                    $('#notes-modal-title').append(name);
                },
                error: function(error) {
                    console.log(error);
                }
            })

从这个 php 片段返回 json:

$sql = "SELECT lastname, journal, progress_notes FROM myrecords WHERE id=" . $id;
$result = $conn->query($sql); 
$dbdata = [];
while ($row = $result->fetch_assoc()) {
    $dbdata[] = $row;
}
echo json_encode($dbdata);

返回的内容如下:

[{"lastname":"Smalls","journal":"Nature Medicine","progress_notes":"2023-10-19 - Form notification received\r\n"}]

我对此还很陌生,但我尝试在 php 中添加一个指定 json 的标头,这似乎删除了键周围的引号,但没有改变任何内容。我一定错过了一些东西,非常感谢任何建议/帮助。

javascript php ajax
1个回答
0
投票

请按照以下方式使用。数据以具有多个对象的数组形式出现

var name = data[0].lastname;

© www.soinside.com 2019 - 2024. All rights reserved.