2017-01-29 1 views
0

明日Webデザインに関する試験があり、AJAXでJSONP応答を読み込む方法を理解できないようです。コールバック関数がない限り、JSONだけでなくJSONPでもうまくいくことができますが、コールバック関数に名前が付いていても何も動作しないようです。JSONPデータをAJAXで解析する

私はこの2つの例与える

https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538&callback=mycallback

My機能:

$.ajax({ 
 
     url: "https://openlibrary.org/api/books?bibkeys=ISBN:0451526538&callback=mycallback", 
 
     dataType: "jsonp", 
 
     success: function(data){ 
 
      var isbn = data["ISBN:0451526538"].bib_key; 
 
       alert(isbn); 
 

 
     } 
 
    });

このリンクから

FIRST例

読み取りデータを

SECOND例

そして、私はそれが/動作しないん理由を理解するように見えることはできませんこの1。

マイウェイ(動作しない)

$.ajax({ 
 
     url: "http://www.flickr.com/services/feeds/photos_public.gne?tags=flowers&format=json#", 
 
     dataType: "jsonp", 
 
     success: function(data){ 
 
      alert(data.title); 
 
    } 
 
    });

正しいコード:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
$.ajax({ 
 
      url: "http://www.flickr.com/services/feeds/photos_public.gne?tags=flowers&format=json#", 
 
      dataType: "jsonp", 
 
      jsonp: "jsoncallback", 
 
      success: function(data){ 
 
       alert(data.title); 
 
     } 
 
     });

は誰でもに時間がかかるしてくださいすることができますデータにアクセスするためのコールバック関数であるラッパー(パディング)をどのように通過できるかを説明します。いいえ$ .getJSONP、これは私の試験で受け入れられるようにこれを働かせなければならない唯一の方法です。

答えて

0

JSONPパラメータがあるjsoncallback

http://www.flickr.com/services/feeds/photos_public.gne?tags=flowers&format=json&jsoncallback=? 
+0

しかし、唯一のURLが指定された場合どのように私はこれを見つけるのですか? – Mary

+0

サービスのマニュアルを読む? – epascarello

+0

試験が進行中の間、私たちはインターネットへのアクセスを制限しているので、データはロードされますが、Googleには何もできません。最初の例では、mycallback({...})以外のレスポンス、つまりパディングなしのレスポンスを得る方法はありますか? – Mary