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、これは私の試験で受け入れられるようにこれを働かせなければならない唯一の方法です。
しかし、唯一のURLが指定された場合どのように私はこれを見つけるのですか? – Mary
サービスのマニュアルを読む? – epascarello
試験が進行中の間、私たちはインターネットへのアクセスを制限しているので、データはロードされますが、Googleには何もできません。最初の例では、mycallback({...})以外のレスポンス、つまりパディングなしのレスポンスを得る方法はありますか? – Mary