2012-05-03 6 views
1

私は別のドメインからJSONデータを取得する機能を持っていますが、何が間違っているのか分かりません。それは決してsuccess関数を起動せず、エラーは返されません。Ajaxはドメイン間のjsonデータと表示を要求しますか?

$.ajax({ 
    url: "http://other-domain.com/sample/Json.aspx", 
    dataType: "jsonp", 
    type: 'get', 
    crossDomain: true, 
    jsonp: 'jsonp_callback', 
    success: function() { 
     alert('abc'); //when success take json data string but i din get in here 
    } 
}); 

ここに間違いがありますか?

+0

ファイヤーバグはあなたに何を言っていますか? – zerkms

+1

完全な単語と大文字を含む一貫性のある文章を使用して質問する必要があります...あなたは5秒以上の時間を費やすことができないという疑問に答えるつもりだと思いますか? – Matt

+1

何も私には言いません – user983738

答えて

1

試してみてください。

$.get('http://other-domain.com/sample/Json.aspx', function(data) { 
    alert(data); 
}); 

あなたはjQuery.parseJSON(data)がそれに使うよりも、(実際には文字列です)JSON文字列でアラートを取得する必要があり、あなたはJSONオブジェクトが上の仕事を得るでしょう。

これが機能しない場合は、おそらくgetパラメータを確認する必要があります。

編集:私はちょうど今、このページを設定しようとした

<head> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

    <script> 

     $(document).ready(function(){ 

      $.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?',function(data){ 

       alert(data.title); 

      }); 

     }); 

    </script> 

</head> 

<body> 

    ... WHATEVER ...   

</body> 

とそれだけで正常に動作しますが、それはで最初のtitle要素を警告ですデータオブジェクト。

+0

JSON-PリクエストはJSON文字列を与えるべきではありません。それはあなたにJavaScriptオブジェクトを与えるはずです。なぜこの構文を使うと、 '$ .ajax'直接呼び出しに異なる結果が出るのですか? – Quentin

+0

私は前にこの機能を試しましたが、クロスドメインデータを取ることはできません。 – user983738

+0

私はそれがうまくいくとは言わない、彼はいくつかのJSONのものを取得する必要がある、彼は$。getJSON()も試してみてください。それはより簡単で、設定するものは少なくなります。 – Onheiron

関連する問題