好吧...所以我已经和这条鳕鱼扭来扭去有一段时间了...
首先我使用了这个有效的代码......
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'data.json',
dataType: "json",
success: function(data) {
$('#content').append(''+data.rank+'
');
}
});});
在这段代码中(它有效)data.json 包含这种格式的 JSON 数据:
{ "user_id":"3190399", "user_name":"Anand_Dasgupta", "followers_current":"86", "date_updated":"2009-06-04", "url":"", "avatar":"205659924 /DSC09920_normal.JPG", "follow_days":"0","started_followers":"86", "growth_since":0, "average_growth":"0", "tomorrow":"86", "next_month":"86 ”,“followers_yesterday”:“86”,“rank”:176184,“followers_2w_ago”:null,“growth_since_2w”:86,“average_growth_2w”:“6”,“tomorrow_2w”:“92”,“next_month_2w”:“266 ", "追随者日期":[] }
此数据来自 URL:
http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3 (点击网址获取数据)
但是当我用包含相同数据的 URL 替换 $.ajax 函数中的 data.json 时,下面的代码似乎不起作用......
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3',
dataType: "json",
success: function(data) {
$('#content').append(''+data.rank+'
');
}
});});
我之前在 StackOverflow 上提出过这个问题,得到的回应是这是一个跨域问题。
因此,我阅读了有关跨域 ajax 请求的信息,这是我想出的代码:
$(document).ready(function() {
$('form#search').bind("submit", function(e){
e.preventDefault();
$('#content').html('');
// Define the callback function
function get(jsonData) {
$('#content').append(''+jsonData.rank+'
');
bObj.removeScriptTag();
}
// The web service call
var req = 'http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3&callback=get';
// Create a new request object
bObj = new JSONscriptRequest(req);
// Build the dynamic script tag
bObj.buildScriptTag();
// Add the script tag to the page
bObj.addScriptTag();
});
});
但甚至似乎没有工作。
如果有人可以提供任何帮助,那么将不胜感激。我已经给出了整个代码,以便任何人都可以自己测试。
谢谢阿南德