jQuery не возвращает никаких результатов API в функции Succes $ .ajax () при использовании JSONP - PullRequest
0 голосов
/ 22 декабря 2010

У меня много проблем с получением каких-либо результатов из типа данных JSONP функции jQuery $ .ajax ().Это мой код jQuery:

  $('#show_tweets').click(function(){
    $.ajax({
      type: 'get',
      url: 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=jquery',
      dataType: 'jsonp',
      succes: function(data) {
        $.each(data, function() {
          $('<div></div>')
            .hide()
            .append('<img src="'+ this.profile_image_url +'"/>')
            .append('<p>'+ this.text +'</p>')
            .appendTo('#tweets_gallery')
            .fadeIn();
        })
      },
      error: function() {
        alert('Iets gaat fout!!');
      }
    });
  });

Я назначил идентификатор #show_tweets для тега P.#tweets_gallery - это пустой DIV.Теперь я знаю Я также мог бы использовать функцию $ .getJSON (), но я просто хочу знать, как правильно получить результаты JSONP с помощью запроса $. Ajax () .Я нажал несколько раз, и он ничего не выводит.

Заранее спасибо!

1 Ответ

0 голосов
/ 22 декабря 2010

В случае ошибки из-за вашей опечатки:

succes: function(data) должно быть success: function(data)

В ответ на ваш комментарий ниже причина profile_image_url не определена, потому что в корневой области нет свойства. JSON, возвращаемый из твиттера, имеет вид:

{
  "text" : "The twitter text",
  "user" : {
           "profile_image_url" : "http://path.to.profileimage/",
           ...
  },
  ...
}

Итак, this.text существует (именно поэтому вы получаете значение), но вы должны получить доступ к изображению профиля как this.user.profile_image_url

См. twitter API о том, как структурирован JSON.

...