Jquery ajax abort()在控制台上出错

时间:2016-02-23 12:54:08

标签: jquery ajax

我的jQuery代码(下面)方法给出了以下错误:

  

TypeError:jQuery111007245809631238611_1456231588251不是函数



    $(function() {
      // Ajax request sent.
      var xhr = $.ajax({
        url: 'http://gdata.youtube.com/feeds/api/videos/wbB3lVyUvAM?v=2&alt=jsonc',
        data: {
          format: 'json'
        },
        beforeSend: function() {

        },
        dataType: 'jsonp',
        success: function(data) {
          //console.log(data);
          $('#info').html(data.error.message);
        },
        type: 'GET',
        error: function() {
          if (xhr.statusText == 'abort') {
            $('#info').html('Aborted!');
            return;
          }
          alert('error');
        }
      });
      // Abort ajax request on click


      $('#btn').on('click', function() {

        xhr.abort();
      });
    });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>

<button id="btn">click to abort </button>

  <div id="info"></div>
</body>
&#13;
&#13;
&#13;

(也可在http://jsfiddle.net/e3ok3s6e/3/获得)

有没有办法解决这个错误?

1 个答案:

答案 0 :(得分:1)

你必须使用

数据类型:&#39; JSON&#39;在你的请求中..

&#13;
&#13;
    $(function() {
      // Ajax request sent.
      var xhr = $.ajax({
        url: 'http://gdata.youtube.com/feeds/api/videos/wbB3lVyUvAM?v=2&alt=jsonc',
        data: {
         dataType:'json'
        },
        beforeSend: function() {

        },
        dataType: 'jsonp',
        success: function(data) {
          //console.log(data);
          $('#info').html(data.error.message);
        },
        type: 'GET',
        error: function() {
          if (xhr.statusText == 'abort') {
            $('#info').html('Aborted!');
            return;
          }
          alert('error');
        }
      });
      // Abort ajax request on click


      $('#btn').on('click', function() {

        xhr.abort();
      });
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>
  <div id="info"></div>
</body>
&#13;
&#13;
&#13;