Получить JSON с API StackOverflow
-
13-10-2019 - |
Вопрос
Я хочу получить информацию из моего профиля переполнения стека в качестве JSON с помощью API.
Итак, я использую эту ссылку 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 для доступа к другому домену. (Это называется Политика в отношении той же домена.)
Тем не менее, API StackOverflow поддерживает обратные вызовы JSONP, так что вот решение:
Загрузить в скрипт через <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');