我目前正在开发一款应用程序,用于从wordpress网站检索供稿,并以jquery移动列表格式列出各个帖子。以下是JS代码:
$(document).ready(function () {
var url = 'http://howtodeployit.com/category/daily-devotion/feed/';
$.ajax({
type: "GET",
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json_xml&num=1000&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
error: function () {
alert('Unable to load feed, Incorrect path or invalid feed');
},
success: function (data) {
var postlist = data.responseData.feed.entries;
var html = '<ul data-role="listview" data-filter="true">';
for (var i = 0; i < 6; i++) {
var entry = postlist[i];
console.log(entry);
html += '<li>';
html += '<a href="#articlepost" onclick="showPost(' + entry.id + ')">';
html += '<div class="etitle">' + entry.title + '</div>';
html += '<div class="esnippet">' + entry.contentSnippet + '</div>';
html += '</a>';
html += '</li>';
}
html += '</ul>';
$("#devotionlist").append(html);
$("#devotionlist ul[data-role=listview]").listview();
}
});
});
function showPost(id) {
$('#articlecontent').html("Loading post...");
$.getJSON('http://howtodeployit.com/category/daily-devotion/?json=get_post&post_id=' + id + '&callback=?', function (data) {
var html = '';
html += '<h3>' + data.post.title + '</h3>';
html += data.post.content;
$('#articlecontent').html(html);
});
}
当我点击显示的6个帖子中的任何一个时,只显示第一个帖子的内容而不是单个帖子的内容。
答案 0 :(得分:0)
我是如何解决这个问题的?
步骤1:从我的WordPress永久链接设置中,我选择了自定义结构并添加了 /%postname%/%post_id%这意味着我的'Link'元素的RSS XML输出结果将采用以下格式:
<myurl>/<postname>/<postID> (http://howtodeployit.com/xxx/111/)
Step2:为了让我更容易而不是编写正则表达式查询,我使用了这样的Split命令:
var postlink = entry.link;
var id = postlink.split(/\//)[4];
(///)[4] 只会将网址按斜线数拆分,只取第4位,这是我的postID所在的位置。
我希望这对我职位的其他人来说非常方便