javascript - 如何在JS中使用ajax请求的结果?

标签 javascript php jquery ajax

我有一个返回 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/

相关文章:

php - 尝试使用 JSON 但得到 '500 Internal Server Error'

php - 如何从 joomla 1.5 模块中的另一个表获取数据?

php - JSON 形式的网站导航树 - 这是不好的做法吗?

javascript - JS 循环内循环

javascript - 在 React 中通过数组索引 onClick 递增

javascript - 使用预处理器向 js、css 或 html 文件添加带日期的注释或递增的 "version"数字?

javascript - jQuery 对话框未完全显示

php - 智能引号无法正确转换为 UTF8

jquery - 有一个滚动表,想从滚动的底部开始吗?

javascript - 如何知道用户是否使用 reactjs 连接到蜂窝网络或 wifi