我想在另一个getJSON中获取getJSON的当前页面?这是正确的吗?在下面的json上获得下一个和上一个的最佳方法是什么。
var currentPage="`http://www.test127.com/ajax/list/?format=json`";
$(document).ready(function(){
$.getJSON( currentPage, function( data ) {
$('#next').click(function(){
currentPage = data.next
$.getJSON( data.next, function( data1 ) {
$.each( data1.results, function(a,b) {
$( "#change" ).html( "subject:" + " " + b.subject + " " + b.date );
});
});
});
$('#prev').click(function(){
$.getJSON( data.previous, function( data2 ) {
$.each( data2.results, function(a,b) {
$( "#change" ).html( "subject:" + " " + b.subject + " " + b.date );
});
});
});
});
});
data.next是" http://www.test127.com/ajax/list/?page=2&format=json"
{"count": 18, "next": "http://www.test127.com/ajax/list/?page=2&format=json",
"previous": null,
"results": [{"subject": "ronald birthday",
"date": "2014-06-13", "time_start": "11:17 PM"},
{"subject": "ronald birthday", "date": "2014-06-19",
"time_start": "7:17 PM"}]}
答案 0 :(得分:0)
你到底想要做什么?
它可能会帮助你理解如何解决它是什么,如果你使用更好的变量名称并以这样的方式编写代码,这样你就不会重复...它更容易阅读和理解。
例如,您可以这样写:
var currentPageUrl="`http://www.test127.com/ajax/list/?format=json`";
function getPageData(url){
$.getJSON(url, function(data){
$.each(data.results, function(a,b) {
$( "#change" ).html( "subject:" + " " + b.subject + " " + b.date );
});
});
}
function loadCurrentPage(){
$.getJSON(currentPageUrl, function( pageData ) {
$('#next').click(function(){
currentPageUrl = pageData.next
getPageData(currentPageUrl);
});
$('#prev').click(function(){
currentPageUrl = pageData.previous
getPageData(currentPageUrl);
});
}
$(document).ready(loadCurrentPage);
现在,如果某些事情没有按照你的想法做到,你可能会更容易发现..
如果您对问题有更好的解释,可能会得到更好的帮助。