我的json数据看起来像这样
[{"id":"299","calendar_id":"49","event_date":"2012-11-27","event_start":"2012-11-27 00:39:00","event_end":"2012-11-27 00:39:00","title":"description goes here","description":"","planned":"0","type_class":"General","type_data":"{\"frequency_type\":\"1\",\"frequency_x\":null,\"type\":\"14\",\"status\":\"23\"}"
Ajax请求
$.ajax({
url: "<?php echo $this->createUrl('path/to/file')?>",
dataType: 'json',
cache: false,
success: function(data) {
var out = "<span>";
$(data).each(function(){
out += this.title;
});
out += "</span>";
unplannedList.html(out);
}
var unplannedList = $('.col ul li');
这是一个列表,我需要附加显示在顶部的数据。 'this'或'data'不起作用。从我粘贴的警报中获取数据的正确方法是什么。
答案 0 :(得分:2)
不确定您是否尝试将每个标题分开一个单独的范围。或者将所有标题放入一个范围内。但这是应该如何使用$.each()函数
var out = '';
$.each(data,function(k,v){ // <-- using the callback arguments
out += '<span>'+v.title+'</span>';
});
答案 1 :(得分:0)
您无法以正在尝试的方式访问该对象。您需要参考currient对象才能访问 this 。尝试这样的事情:
var self=this;
并在自己的回调中工作。
答案 2 :(得分:0)
代替$(data).each(...)
,试试这个:
$.each(data, function() {
out += this.title;
});