2012-04-17 34 views
0

私は外部サーバー上で単純なjsonを読み込もうとしています。 Firebug Net Panelでは、ResponseタブとJSONタブに正しいデータが表示されています。しかし、成功関数は実行されません。jsonpの問題 - 成功関数が実行されません

コールバックは次のように表示されます:fullurl?callback=jQuery1710837256851301949_1334637212326&_=1334638519052機能としてではありません - なぜこれが問題になりますか?

マイコード:

$.ajax({ 
    type: "GET", 
    url: "external url", 
    dataType: "jsonp", 
    data : {}, 
    success: function (data) { 
     console.log('success'); 
     alert("success"); 
     // var myname = data.name; 
     // var myid = data.id; 
     //  var fullcontent= "Name: " + myname + " ID: " + myid; 
     // $("#jsondata").html(fullcontent); 
    } 
}); 

が助けてください - 感謝

答えて

1

あなたはjsonpCallbackとしてではない成功とコールバック関数を指定する必要があります。

$.ajax({ 
     type: "GET", 
     url: "external url", 
     dataType: "jsonp", 
     data : {}, 
     jsonpCallback: function (data) { 
      console.log('success'); 
      alert("success"); 
     } 
}); 

編集

JSONPを正しく動作させるには、サーバが直接ストリームでJSONデータを書き込む必要があります。 JSON文字列を出力すべきではありません。このquestionの詳細。

私はあなたがストリームに正しくサーバーに書き込んでいると仮定しています。そうですか?

+0

ありがとうSudar - それでも動作しません。その他の提案はありますか? – user1337813

+1

jsonpCallback関数のデータが私のために定義されていません。これを回避するには? –

関連する問題