我使用 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 的标头,这似乎删除了键周围的引号,但没有改变任何内容。我一定错过了一些东西,非常感谢任何建议/帮助。
请按照以下方式使用。数据以具有多个对象的数组形式出现
var name = data[0].lastname;