如何在代码点火器

时间:2016-05-14 11:40:01

标签: php jquery ajax codeigniter

我需要将从ajax请求收到的json数据显示为html

警报我正在获取json数据

这是我的观点

 <?php for ($i=0; $i<5; $i++){?>
<a href="#" class='testing' data-index="<?= $i;?>" >testlink</a>

   //need to display the results that i fetch from ajax request

  <?php }? >
   }

这是我的jquery

$('.testing').click(function() {

$.ajax({
    url : "path_to_your_controller",
    data: {
        id: $(this).data("index")
    },
    type: "POST"
    success: function(data)
    {
        alert(data);
    },

});

这是我的控制器

   $data= array('value' =>22,
                    'value2'       => 32,
                    'value3'       => 'foo',
                    'value4'       =>  'bar',
                    'value5'       => '122',
            );
     echo json_encode($data);

2 个答案:

答案 0 :(得分:0)

设置ajax dataType:&#34; json&#34; 成功获取json数据:function(data,textStatus,jqXHR),如下所示

$.ajax({
        url : "path_to_your_controller",
        dataType: "json",
        data: {
            id: $(this).data("index")
        },
        type: "POST"
        success: function(data, textStatus, jqXHR)
        {
            // here json data you want
            alert(data.value);
            alert(data.value2); // as key set in json array in controller
            console.log('success');
            console.log(data);
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
          console.log('we are in error');
        }
    });

答案 1 :(得分:0)

与codeigniter无关。您需要做的就是在客户端。试试这个:

$.ajax({
   url : "path_to_your_controller",
   data: {
    id: $(this).data("index")
   },
  type: "POST"
  success: function(data)
  {
    $(data).each(function(index,value)){
    html += '<a>'+value+'</a>';
   }
   $('class or id name').append(html);
  },
});

或者您可以像data.value1一样简单地编写console.log(data.key_name)以获取数据。

编辑:不要忘记添加var html =&#39;&#39;在开始时。希望这有帮助