jQuery JSON 调用返回 null

发布于 2024-11-07 05:00:35 字数 1428 浏览 0 评论 0原文

我正在使用 jQuery 调用 JSON 源,如下所示:

{
   total: 1,
   current: 0
}

下面的 jQuery 脚本从 json 调用返回 NULL,我不明白为什么?数据源正确且有效。

    $.ajax({
        url: source,
        cache: false,
        beforeSend: function(){
            target.before('<div class="feed-loading"></div>', function(){
                target.slideUp();
            });
        },
        success: function(html){

            /* load feed data into target */

            target.html(html).slideDown();
            $('.feed-loading').fadeOut();

            /* updates attendances */

            $('.actionpanel a.attend').each(function(index) {

                var event_id = $(this).attr('rel');

                /* find if logged in user is attending */

                $.getJSON(settings.base_url + 'ajax/event_attendance/' + event_id, function(attendance) {

                    console.log(attendance);

                    /* update attendance figures on page */

                    $('a.attend[rel="' + event_id + '"]').nextAll('.meta').text(attendance.total + ' attending');

                    if (attendance.current == 1) {
                        $('a.attend[rel="' + event_id + '"]').addClass('selected').attr('title', 'You are attending!');
                    };

                });

            });
        }
    });

我认为这一定与它在另一个 ajax 调用中的事实有关,因为我在其他地方使用过类似的代码并且它工作正常。

I am calling a JSON source with jQuery that looks like this:

{
   total: 1,
   current: 0
}

My jQuery script below is returning NULL from the json call and I can't work out why? The data source is correct and working.

    $.ajax({
        url: source,
        cache: false,
        beforeSend: function(){
            target.before('<div class="feed-loading"></div>', function(){
                target.slideUp();
            });
        },
        success: function(html){

            /* load feed data into target */

            target.html(html).slideDown();
            $('.feed-loading').fadeOut();

            /* updates attendances */

            $('.actionpanel a.attend').each(function(index) {

                var event_id = $(this).attr('rel');

                /* find if logged in user is attending */

                $.getJSON(settings.base_url + 'ajax/event_attendance/' + event_id, function(attendance) {

                    console.log(attendance);

                    /* update attendance figures on page */

                    $('a.attend[rel="' + event_id + '"]').nextAll('.meta').text(attendance.total + ' attending');

                    if (attendance.current == 1) {
                        $('a.attend[rel="' + event_id + '"]').addClass('selected').attr('title', 'You are attending!');
                    };

                });

            });
        }
    });

I think it must be something to do with the fact its within another ajax call as I have used similar code elsewhere and its worked ok.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜嗑 2024-11-14 05:00:35

我认为你的 JSON 很糟糕——你缺少一个逗号。试试这个:

{
   total: 1,
   current: 0
}

I think your JSON is bad -- you're missing a comma. Try this:

{
   total: 1,
   current: 0
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文