@paulvales

Почему не хочет парсить JSON?

Есть некое API,необходимо получить токен.
Получаю данные :
function gettok2(){
    var result;
 $.ajax({
 type: 'GET', 
     cache: false,
   callbackParameter: 'callback',
    async: false,
       crossDomain: true,
    dataType: 'jsonp',
  url: "https://api.shipper.io/v1/login/key",
  data:{ username:"xxxxxx",auth_key:"xxxxxxxxxxxxxxxxxxxx"},
  success: function(data){
    var r = $.parseJSON(data);
    result = r.access_token; 
     console.log(r.access_token);
  alert(r);
  }
});
 return result;
}

Данные приходят в таком виде:
{"access_token":"gmZxervvZWL-qop3vS6d8qTwjamBk5QM"}

Но в консоле "Uncaught SyntaxError: Unexpected token :"
Указывает на двоеточие.
Что я делаю не правильно?
  • Вопрос задан
  • 451 просмотр
Пригласить эксперта
Ответы на вопрос 4
EreminD
@EreminD
Кое-что умею
попробуйте
...
success: function(data){
    var r = $.parseJSON(data);
    result = r["access_token"]; 
     console.log(r["access_token"]);
  alert(r);
...
Ответ написан
petermzg
@petermzg
Самый лучший программист
Ваша ситуация похожа на эту
Т.е. проблема в the cross-site policies
Ответ написан
Вы же jsonp используете. А значит в success колбэке data - это уже нормальный js объект и его не нужно парсить.
Ответ написан
@SirMustache
Попробуй добавить в url запроса:

?callback=JSON_CALLBACK
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы