Stackoverflow APIでJSONを取得します
-
13-10-2019 - |
質問
APIを使用してJSONとして、スタックオーバーフロープロファイルから情報を取得したいと思います。
だから私はこのリンクを使用します http:/api.stackoverflow.com/1.0/users/401025/.
しかし、リクエストを行うと、JSONデータを含むファイルを取得します。 Ajaxを使用してそのファイルに対処するにはどうすればよいですか?
これが私のコードです(http://jsfiddle.net/hjhfu/2/):
<html>
<head>
<script>
var req;
getReputation();
function getReputation(){
req = new XMLHttpRequest();
req.open('GET', 'http://api.stackoverflow.com/1.0/users/401025/');
req.onreadystatechange = processUser;
req.send();
}
function processUser(){
var res = JSON.parse(req.responseText);
alert('test');
}
</script>
</head>
アラートは決して解雇されません req.responseText
空のようです。何か案は?
解決
ノート: AJAXを使用して別のドメインにアクセスすることはできません。 (これはと呼ばれます 同じドメインポリシー.)
ただし、StackOverFlow APIはJSONPコールバックをサポートしているため、解決策があります。
aを介してスクリプトにロードします <script>
鬼ごっこ。
まさにそれを行う関数を作成します:
function load_script(src) {
var scrip = document.createElement('script');
scrip.src = src;
document.getElementsByTagName('head')[0].appendChild(scrip);
return scrip; //just for the heck of it
}
コールバック関数を設定します:
function soResponse(obj) {
alert(obj.users[0].reputation);
}
ロードしてください!
load_script('http://api.stackoverflow.com/1.0/users/401025/?jsonp=soResponse');
所属していません StackOverflow