我需要将从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);
答案 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;在开始时。希望这有帮助