这是我的代码的ajax部分
$.ajax({
type: 'POST',
url: 'get-planned-posts',
dataType: 'json',
success: function(data) {
$('div#alert').html(data)
$('div#alert').animate({top: '100'}, 'fast');
$('div#alert').fadeIn('slow');
$('div#alert').delay(1000).fadeOut('slow');
},
服务器端PHP(Codeigniter)
$query = $this->Devloger_admin->get_planned_posts();
$this->is_ajax();
$this->output->set_header('Content-type:application/json;charset=utf-8');
echo json_encode($query[1]['tytul']);
Query创建此结果数组:
array(3) {
[0]=>
array(3) {
["id"]=>
string(2) "62"
["tytul"]=>
string(1) "1"
["data_dodania"]=>
string(10) "0000-00-00"
}
[1]=>
array(3) {
["id"]=>
string(2) "64"
["tytul"]=>
string(1) "3"
["data_dodania"]=>
string(10) "0000-00-00"
}
[2]=>
array(3) {
["id"]=>
string(2) "65"
["tytul"]=>
string(1) "4"
["data_dodania"]=>
string(10) "0000-00-00"
}
}
问题出在我做的时候
echo json_encode($query[1]['tytul']);
它正确发送标题,在显示框中我们得到了#34; 3"根据结果数组,这是正确的。
但是当我喜欢的时候:
echo json_encode($query[1]);
它没有显示任何内容,空白。
下一步
echo json_encode($query);
再次空白。但那是整个阵列。我想发送整个数组,包含所有帖子,然后从中创建表格。但这里出了点问题,我无法弄清楚是什么。
json_encode从此result_array
创建的内容[{"id":"62","tytul":"1","data_dodania":"0000-00-00"},{"id":"64","tytul":"3","data_dodania":"0000-00-00"},{"id":"65","tytul":"4","data_dodania":"0000-00-00"}]
答案 0 :(得分:0)
成功回调中的data
变量是一个javascript对象。你需要遍历它或对数组进行字符串化:
success: function(data) {
$('div#alert').html(JSON.stringify(data));
},
这样的事情可能就是你想要的:
success: function(data) {
var html = [];
$.each(data, function(index, dataRow){
html.push('<li>' + dataRow.id + ': ' + dataRow.tytul + '</li>');
});
$('div#alert').html(html.join(''));
},