0

好吧...所以我已经和这条鳕鱼扭来扭去有一段时间了...

首先我使用了这个有效的代码......


$(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(); }); });

但甚至似乎没有工作。

如果有人可以提供任何帮助,那么将不胜感激。我已经给出了整个代码,以便任何人都可以自己测试。

谢谢阿南德

4

1 回答 1

1

您必须查看相关站点是否支持JSONP

您还必须在设置为的 ajax 调用中使用dataType'jsonp'选项,并指定正确的回调参数。

于 2009-07-02T10:51:07.683 回答