我有一个返回 2 行的查询。这是我的 PHP 代码:
$arr = array();
$stmt = $dbh_conn->prepare("SELECT id,name FROM mytable WHERE id <= 2");
$stmt->execute();
$result = $stmt->fetchAll();
/*Array
(
[0] => Array
(
[id] => 1
[name] => pear
)
[1] => Array
(
[id] => 2
[name] => watermelon
)
) */
$arr["output"] = $result;
header('Content-Type: application/json');
echo json_encode($arr);
exit();
这是我的 JS 代码:
success: function(arr) {
$(".myclass").html(arr.output.0.name);
}
它抛出这个:
Uncaught SyntaxError: missing ) after argument list
当我删除 .0.name
时,它会抛出以下错误:
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
无论如何,当选择多行时,如何显示ajax请求的结果?
我想要制作一个结果的 HTML 表格,如下所示:
<tr>
<td>1</td>
<td>pear</td>
</tr>
<tr>
<td>2</td>
<td>watermelon</td>
</tr>
然后将其插入 $('.myclass')
元素中。
最佳答案
使用 JSON.parse
将字符串(data
)解析回数组。
success: function(data) {
var arr = JSON.parse(data);
$(".myclass").text(arr.output[0].name);
}
并对数组使用下标。如果您想设置评论中提到的 .myclass
文本,请使用 .text
而不是 .html
。
关于javascript - 如何在JS中使用ajax请求的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41751660/