【问题标题】:Print json from mysql从mysql打印json
【发布时间】:2013-04-16 13:50:35
【问题描述】:

大家好,我有一个用 codeigniter 开发的网站。 在某些函数中,我必须从 mysql 检索数据并在 javascript 中打印结果,因为它是一个 ajax 调用。

这是我检索数据的 php 函数:

public function getCityByNameOnly($name) {
      $query = $this->db->query('SELECT *  FROM city WHERE name LIKE "%'.$name.'%" ');
      $city = array();
      foreach ($query->result() as $row)
     array_push($city, $row);
     return json_encode($city);
      }
}

这是我的 ajax 调用:

$('#ricerca-ajax').keyup(function(){
        var val = $(this).val();
        if (val.length>2){
            var site_url_city ="<?php echo(site_url('/city/get_city_by_text')); ?>";
            $.ajax({   
                url: site_url_city, 
                type: "POST", 
                data: {search: val},
                dataType: "text",             
                success: function(data) {
                    console.log(data);
                    for(var i=0;i<data.length;i++)
                    {
                          $('#msgid').append(data[i].name_en  + '<br> ');

                    }
                }
            });
        }
    })

我将结果附加到一个 div 中,但始终未定义。 这是我创建的 json 的 console.log:

{"id":"125","name_it":"L&egrave;sina (Hvar)","name_en":"Hvar","nation_id":"23","region_id":"0","active":"1"},{"id":"127","name_it":"Trogir (Tra&ugrave;)","name_en":"Trogir","nation_id":"23","region_id":"0","active":"1"},{"id":"1088","name_it":"Citt&agrave; del Capo","name_en":"Cape Town","nation_id":"101","region_id":"0","active":"1"}]

如何在 javascript 中将此 json 打印到我的成功函数中? 谢谢

【问题讨论】:

    标签: php javascript jquery ajax json


    【解决方案1】:

    更改 ajax 中的datatype:"json" 即可解决问题

    $('#ricerca-ajax').keyup(function(){
            var val = $(this).val();
            if (val.length>2){
                var site_url_city ="<?php echo(site_url('/city/get_city_by_text')); ?>";
                $.ajax({   
                    url: site_url_city, 
                    type: "POST", 
                    data: {search: val},
                    dataType: "json",             
                    success: function(data) {
                        console.log(data);
                        for(var i=0;i<data.length;i++)
                        {
                              $('#msgid').append(data[i].name  + '<br> ');
    
                        }
                    }
                });
            }
        })
    

    【讨论】:

    • 是的,在我被禁止接受之前,因为时间是 15 分钟,我想又可以了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2021-06-17
    相关资源
    最近更新 更多