已回答
感谢所有在这篇文章中回复的人。感谢 Kevin(循环的最佳解决方案)并感谢 Deepak 的排序功能。
我将尝试在网站上为这些数据找到分页解决方案,但如果有任何进一步的帮助,我将不胜感激。
再次感谢大家!
原始问题
我希望你能帮助我。我有一个 JSON 提要(我已经验证并在http://jsonlint.com/上完美运行)。我已经在我这边设置了页面,我可以解析一个结果没有问题。问题是提要中有很多结果,我需要 jQuery 来返回所有结果。我在这里展示的示例有 11 个结果,但其他一些页面最多有 300 个结果。所以这是一个两部分的问题。
我的脚本知识能够更改给定的代码,但自己编写是不可能的(虽然我正在自学)
- 如何返回所有结果?
- 我如何对结果进行分页,比如每页 15 个?
我正在使用 JAMES PADOLSEY 的Cross Domain Ajax插件来提取数据 - 这是正确的术语吗?
我正在使用的 jQuery 代码是:
jQuery.noConflict()(function($) {
$(document).ready(function($) {
$.ajax({
type: 'GET',
url: "http://dealer.mustek.co.za/public-content-api.html?content=dealers&province=limpopo",
success: function(response) {
var headline = $(response.responseText).text()
var json_obj = $.parseJSON(headline); //parse JSON
console.log(json_obj);
var output = '';
for (var i = 0; i < json_obj.user_id; i++)
output += "<div class='dealer'>";
output += "<dl>";
output += "<dt>Company Name</dt>"
output += "<dd>" + json_obj[i].company_name + "</dd>"
output += "<dt>Company Description</dt>"
output += "<dd>" + json_obj[i].company_description + "</dd>";
output += "<dt>Email Address</dt>"
output += "<dd>" + json_obj[i].company_email + "</dd>";
output += "<dt>Contact Number</dt>"
output += "<dd>" + json_obj[i].contact_number + "</dd>";
output += "<dt>Website URL</dt>"
output += "<dd>" + json_obj[i].website_url + "</dd>";
output += "<dt>City</dt>"
output += "<dd>" + json_obj[i].city_suburb + "</dd>";
output += "<dt>Physical Address</dt>"
output += "<dd>" + json_obj[i].physical_address + "</dd>";
output += "</dl>"
output += "<p>"
output += "</div>";
$('#dealer_limpopo').html(output);
},
});
});
});
我将 div 拉入测试 html 页面http://thegearbox.co/thisisatest/。
如您所见,提要没有问题,一切正常,只需要那条讨厌的线循环所有数据。目前,
for (var i = 0; i < json_obj.user_id; i++)
没有做这项工作。
任何帮助将不胜感激!
PS。有没有办法按字母顺序对数据进行排序,或者我只是厚颜无耻地要求这么多?:)
更新
非常感谢到目前为止发表评论的所有人。我在下面使用@Kevin 的解决方案来显示所有数据
for (var i = 0; i < json_obj.length; i++)
我正在使用@Deepak 的解决方案按字母顺序对数据进行排序:
json_obj.sort(function compare(a,b) {
if (a.company_name < b.company_name)
return -1;
if (a.company_name > b.company_name)
return 1;
return 0;
});
任何人都可以帮助分页吗?