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 "、" followersperdate ":[]}

このデータは次のURLから取得されます。

http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3 (データを取得するにはURLをクリックしてください)

しかし、$。ajax関数のdata.jsonを同じデータを含むURLに置き換えると、以下のコードは機能しないようです...


$(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 に答える