https://raw.github.com/currencybot/open-exchange-rates/master/latest.jsonのデータ(国名と金額)を私のWebページに表示したいと思います。私にそうする方法を提案してください。json urlからデータを取得する方法
答えて
使用jQuery.getJSON()関数
は、あなたがそのような要求を行うためにJSONPを使用することができますが、私はあなたがアクセスしようとしているURLはJSONP機能を持っていないと思います。このチュートリアルをhttp://api.jquery.com/jQuery.getJSON/
getJSONは、(OPがGitHubで動作しているのでなければ)ドメイン間の要求である可能性が最も高いため、OPの状況ですぐに動作しません。 'callback =?'を追加する必要があります。 getJSONを動作させるためにURLに追加します。いずれにしても、エラーを正常に処理できるように、$ .ajaxをベストプラクティスとして使用することをお勧めします。 – ErJab
$ .getJson()はAjax関数の省略形です。http://api.jquery.com/jQuery.getJSON/ –
はい、私は$ .ajaxの短い手です。しかし、この特定の状況では、 '&callback =?' OPがクロスドメインコールを行っているため、getJSONを呼び出すときにURLに渡すと動作しません。 – ErJab
を行きます。あなたは(私はあなたが使用しようとしているURLごとに推測)の為替レートをしたいので、あなたが使用できます。
$(document).ready(function(){
$.ajax({
url: 'http://openexchangerates.org/latest.json',
dataType: 'jsonp',
success: function(json) {
// Rates are in `json.rates`
// Base currency (USD) is `json.base`
// UNIX Timestamp when rates were collected is in `json.timestamp`
rates = json.rates;
base = json.base;
console.log(rates);
}
});
});
参考:See Here
はそれが
なぜdataTypeが 'jsonp'ではなく 'jsonp'ですか? –
これはjQueryで動作するはずです役に立てば幸い:
$.ajax({
url: 'https://raw.github.com/currencybot/open-exchange-rates/master/latest.json',
dataType: 'jsonp',
success: function (data, textStatus, jqXHR) {
//the variable 'data' will have the JSON object
// In your example, the following will work:
alert(data.disclaimer);
error: function(jqXHR, textStatus, errorThrown) {
//Error handling code
alert('Oops there was an error');
}
}
});
第1の問題は、クロスドメインを行っていることです。データはJSONPのようには見えません。これはどこにも行きません。 – Joseph