Почему этот запрос Twitter api ajax не работает в IE7? - PullRequest
0 голосов
/ 24 августа 2011

Этот код работает; только не с IE7. Я прочитал, что могу заставить его работать в IE7, если я включу callback=? для принудительного включения JSONP, но он все еще не работает.

Какие-либо советы, предложения, заметные ошибки?

<div id="twitter">
</div>
<script>
$(function(){
   $.ajaxSetup({ 
      cache: true,
      crossDomain: true,
   });
   $.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name=bozdoz', function(data) {
      $.each(data, function(i, tweet) {
      $('#twitter').append('<li>'+tweet.text+'</li>');
      });
   });
});
</script>

-

UPDATE

Это код, который я должен был использовать. Это было скомпилировано после очистки StackOverflow в течение нескольких часов. Отлично работает в IE7. Спасибо всем.

$.ajax({
  url: 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz',
  dataType: 'jsonp',
  cache: false,
  crossDomain: true,
  contentType: "application/json",
  success: function(data){
 $.each(data, function(i){
 $('#twitter').append('<p>'+this.text+'</p>');
 if(i==2) return false;
 });
},
  error: function(jqXHR, textStatus, errorThrown){
 $('#twitter').append('<p>'+jqXHR+" "+textStatus+" "+errorThrown+'</p>');
}
 });

Ответы [ 4 ]

3 голосов
/ 24 августа 2011

попробуйте установить contentType

$.ajaxSetup({
  cache: true,
  crossDomain: true,
  scriptCharset: "utf-8" ,
  contentType: "application/json; charset=utf-8"
 });

PS. Json, возвращаемый API, не проверяется как действительный json. jsonlint

также всегда добавляются&callback=? до конца URL

2 голосов
/ 24 августа 2011

У вас есть дополнительный код в вашем коде.

Вы хотите ...

$.ajaxSetup({ 
  cache: true,
  crossDomain: true
});
1 голос
/ 24 августа 2011

вот рабочий пример: http://jsfiddle.net/8h2Sv/3

показал вам разные способы достижения этого ..

1 голос
/ 24 августа 2011

Попробуйте это

<div id="twitter">
</div>
<script>
$(function(){
   $.ajaxSetup({ 
      cache: true,
      crossDomain: true
   });
   $.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz&callback=?', function(data) {
      $.each(data, function(i) {
      $('#twitter').append('<li>'+this.text+'</li>');
      });
   });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...