2

$.ajax、jsonp、および twitter API を使用したチュートリアルに従っています。

残念ながら、この例は IE を除くすべてのブラウザで動作します。Twitter の URL ( http://search.twitter.com/search.json?q=bowery ) を IE ブラウザに読み込もうとすると、IE はファイルをダウンロードしようとします。

contentType: 'text/plain' をdataType: 'jsonp' の下に追加し、 contentType: 'text/html'contentType: 'text/javascript'を追加してこれを修正しようとしました が、これらのバリエーションはどれも機能しませんでした. このjsonp + IE + $.ajaxの問題を以前に解決した人はいますか?

github のチュートリアル コード: https://github.com/troyth/webassite.com/blob/master/tutorials/tutorial4/index.html

Javascript:

<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    console.log('doc ready!');

      var search_term = {
        q: 'harrypotter'
      };
      search(search_term);
    });

  function search(search_term) {
    $.ajax({
      url: 'http://search.twitter.com/search.json?' + $.param(search_term),
      dataType: 'jsonp',
      success: function(data) {
        for (item in data['results']) {
          $('#tweets').append(
            '<li>' + data['results'][item]['text'] + '</li>');
        }
      }
    });
  }

HTML:

    <ol id="tweets"></ol>
4

1 に答える 1

2

ループとオブジェクトへのアクセスに問題があるようですが、これは私にとってはうまくいきます:

$(document).ready(function () {
    var search_term = {
        q: 'harrypotter'
    };
    search(search_term);
});

function search(search_term) {
    $.ajax({
        url: 'http://search.twitter.com/search.json',
        data: search_term,
        dataType: 'jsonp'
    }).done(function (data) {
        $.each(data['results'], function (k, v) {
            $('#tweets').append('<li>' + v.text + '</li>');
        });
    });
}

フィドル

于 2013-06-04T03:20:29.230 に答える