1

在 Tumblr 上,我有几篇文章正在尝试使用 .ajax 专门从中获取数据。我正在使用 .each 仅获取音频帖子的数据。但我遇到的问题是它会返回所有帖子,而不仅仅是音频帖子。我什至为每个特定的帖子 ID 指定了 json 路径。我知道我可能设置完全错误,因为我不太熟悉使用 .ajax。

$('.audio.post').each(function() {
    var audiopostID = $(this).attr('id');
    var audioPath = '/api/read/json?id=' + audiopostID;

    $.ajax({
        url: audioPath,
        dataType: 'jsonp',
        timeout: 5000,
        success: function(data) {
            console.log(data);
        }
    });
});

正如我所提到的,它返回所有的帖子,而不是我试图获得的特定帖子audioPath。单独的 json 路径确实存在,似乎 .ajax 忽略了单独的路径并抓取了所有内容。这是前两个音频帖子 json 路径:

4

1 回答 1

1

您正在从以下代码中提取 ID 字段:

<article class="post text brick" id="post-46308156089" data-postID="46308156089" data-permalink="http://testrtheme.tumblr.com/post/46308156089/test">

这里的id是:

post-46308156089

基于此,您的 URL 如下所示:

/api/read/json?id=post-46308156089

尝试将您的代码更改为以下内容:

$('.audio.post').each(function() {
var fullaudiopostID = $(this).attr('id').split('-');
var audiopostID = fullaudiopostID[1];
var audioPath = '/api/read/json?id=' + audiopostID;

$.ajax({
    url: audioPath,
    dataType: 'jsonp',
    timeout: 5000,
    success: function(data) {
        console.log(data);
    }
});
});
于 2013-04-02T17:39:53.887 回答