2015-11-01 3 views
1

Я пытаюсь сделать запрос AJAX для https://api.mojang.com/users/profiles/minecraft/USERNAME, это должно возвращать данные в формате JSON (не уверен, если JSONP)JQuery JSON AJAX запрос на другой домен

При нажатии на кнопку, которая будет выполнять запрос I AJAX получить это:

http://prntscr.com/8xswr1 (Google Chrome консоль)

При двойном щелчке на 'dude1 обратного вызова ...?' Я получаю это:

http://prntscr.com/8xsx7q

, который содержит данные в формате JSON, я хочу вернулся, то есть я делаю запрос и получение данных в формате JSON, но я не могу разобрать его или получить информацию

Код:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Website</title> 
     <script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
     <script> 
      function getInfo() { 
       username = $('#username').val(); 
       $.ajax({ 
        type: 'GET', 
        url: "https://api.mojang.com/users/profiles/minecraft/" + username, 
        //crossDomain: true, 
        dataType: 'jsonp', 
        success: function (data) { 
         alert(data.name); 
        } 
       }); 
      } 
     </script> 
    </head> 
    <body> 
     <form> 
      Username: <input type="text" id="username" name="username"/> 
     </form> 
     <button onclick="getInfo();">Submit</button> 
     <span id="info"> 

     </span> 
    </body> 
</html> 

Кроме того, если изменить параметр 'DATATYPE' в 'JSON' Я получаю эту ошибку http://prntscr.com/8xsy9e

+0

Сервер не разрешает перекрестный запрос домена или обработку jsonp. Поиск относительно ошибки, которую вы получаете в консоли, вы найдете тысячи похожих вопросов ... –

ответ

1

это должно возвращать данные в формате JSON (не уверен, если JSONP)

Это JSON.

При нажатии на кнопку, которая будет выполнять запрос AJAX я получаю эту

Это типичная ошибка для попыток выполнить JSON, как если бы это было JSONP.

При двойном щелчке на "dude1? Обратного вызова ... Я получаю эту

Да, JSON. Не JSONP.

Кроме того, если я изменить параметр «DATATYPE» в «JSON» Я получаю эту ошибку

Да, сайт вы запрашиваете данные не давая ваш сайт разрешения на чтение его с помощью браузеры вашего посетителя.


Для перекрестного происхождения Ajax требуется, чтобы сайт, с которого вы получаете данные, сотрудничает с вами для его предоставления.

Извлеките данные на свой сервер.