php - 使用 jQuery 遍历 JSON 数据

标签 php javascript jquery

我不知道如何将一堆 MySQL 行放入 JSON 数据结构并迭代 java 脚本中的每个行字段。

这是我在 codeigniter 中的查询

function get_search_results() {

    //$this->db->like('title', $searchText);
    //$this->db->orderby('title');
    $query = $this->db->get('movies');

    if($query->num_rows() > 0) {

        foreach($query->result() as $movie) {

            $movies[] = $movie->title;                

        }

    }

    return $movies;

}

将数组编码为 json

$rows= $this->movie_model->get_search_results();
echo json_encode($rows);

我的 jQuery AJAX 请求,

 $.ajax({
      type: "GET",
      url: "publishlinks/search_movies",
      data: searchString,
      ...

这就是我尝试遍历 java 脚本中的行的方式。它迭代每个字符:1 t 2 h 3 e 4 g ... 7 e 我需要这个:1 比赛 2 输了 3 你

   success: 
      function(result) {                                
        $.each(result, function(key, val) {
        alert(key + ' ' + val);
      })

//alert(result);
}

最佳答案

它看起来像是将结果视为字符串而不是解析的 JSON,因此像字符串一样对其进行迭代。这可能意味着它不会在响应中返回干净的 JSON 编码字符串,因此我会检查响应以确保它是有效的 JSON。 jQuery 应该智能地猜测内容类型并进行相应的解析。

您还可以尝试在 ajax 请求上使用 dataType: "json" 选项,强制将其解析为 JSON,而不是让 jQuery 猜测。

关于php - 使用 jQuery 遍历 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888431/

相关文章:

javascript - 如何防止 twig 自动转义日语字符?

jQuery 数学选择更改

Javascript 淡入/淡出 "stacking"

php - 不要在 mysql 数据库中复制内容

php - 第二个选择框从 jquery 中的第一个选择框填充

javascript - 超时后图像不会重新出现在正确的位置

javascript - Sequelize 6.13.4 版的 requestTimeout 的替代方案是什么?

php - PHP(已弃用)mysql 模块与 MySQLi 和 PDO 的漏洞

php - 无法打开 phpMyAdmin (Windows)

javascript - 事件处理复选框 - jQuery icheck 插件