0

私の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」は機能しません。貼り付けたアラートからデータを取得する正しい方法は何ですか。

4

3 に答える 3

2

それぞれを別々のスパンにしようとしているかどうかはわかりません..または、すべてのタイトルを1つのスパンに入れます。しかし、$.each()関数を使用する方法は次のとおりです

var out = '';
$.each(data,function(k,v){ // <-- using the callback arguments
    out += '<span>'+v.title+'</span>';
});

フィドル

于 2012-11-26T19:26:47.933 に答える
0

あなたが試みている方法でそのオブジェクトにアクセスすることはできません。thisにアクセスするには、現在のオブジェクトへの参照が必要です。次のようなことを試してください:

var self=this;

コールバックで自分自身を使用して作業します。

于 2012-11-26T19:18:31.113 に答える
0

の代わりに$(data).each(...)、これを試してください:

$.each(data, function() {
   out += this.title;
});
于 2012-11-26T19:20:54.523 に答える