【问题标题】:Get Data from json in yii through jquery通过jquery从yii中的json获取数据
【发布时间】:2012-11-26 19:15:33
【问题描述】:

我的 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' 不起作用。从我粘贴的警报中获取数据的正确方法是什么。

【问题讨论】:

    标签: jquery json yii


    【解决方案1】:

    不确定您是否要尝试将每个标题都设为一个单独的跨度。或者将所有标题放在一个跨度中。但这里是它应该如何使用$.each() 函数

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

    FIDDLE

    【讨论】:

    • 你的小提琴很完美,但我的代码不行。如果我尝试提醒 $.each(data,function(k,v){ alert('in');} 内的数据,它不会提醒任何东西。可能我错了。但就在我提醒数据之前警报。奇怪。
    • 在 each 之外做一个 console.log(data) 来看看你是否收到了一个 javascript 对象。然后做一个 console.log(v) 来确保你在里面得到每个对象每个功能
    • console.log(data) 应该理想地在 firebug 控制台窗口中显示数据,对吗?那里什么都没有显示,在'>>>'之后是空白的
    • 是的,它应该..这意味着您没有收到任何 JSON 响应..您是如何获得 JSON 的?从一个文件?还是服务器响应?
    • 谢谢!这是服务器响应错误。我永远不会注意到它。 :)
    【解决方案2】:

    您无法以您尝试的方式访问该对象。您需要对当前对象的引用才能访问您的 this。试试这样的:

    var self=this;
    

    并使用 self 处理您的回调。

    【讨论】:

    • 你能详细说明你的答案吗?
    • 我认为您的 this 在另一个范围内,因此 this 不是您所期望的 this。如果您制作本地副本,您可以确定其含义不会改变。
    【解决方案3】:

    不要使用$(data).each(...),试试这个:

    $.each(data, function() {
       out += this.title;
    });
    

    【讨论】:

    • 运气不好。还是一样。它不会在列表中添加任何内容
    • 然后,类似于下面答案中的 cmets,检查您的 json 源 URL。是否返回数据?或者您可能收到 404 或 500 错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2010-11-24
    • 1970-01-01
    • 2014-12-16
    相关资源
    最近更新 更多