jquery ajax调用 - 每次其他尝试都失败,xhr.status = 0

时间:2011-05-06 15:03:11

标签: jquery ajax function

这是我的代码:

  $('#select').change(function() {
    $.ajax({
      url: Drupal.settings.basePath + 'custom-ajax/' + $(this).val(),
      dataType: 'html',
      success: function(response) {
        $('#container').html(response);
      },
      error: function(xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
      }   
    }); 
  });

我的select的第一个“更改”在控制台中返回“undefined(undefined)”,第二个更改按预期工作($('#container')。html(response);)。第三个更改返回undefined,第四个更改按预期返回,等等。

在每种情况下,ajax回调的完整URL都被命中 - 如果我将该URL复制并粘贴到新的浏览器窗口中,我可以点击刷新100次,每次加载都成功,所以我不会相信它与页面没有响应有任何关系。值得一提的是,当错误回调运行时,它会在更改下拉列表后立即发生 - 我不会觉得它甚至试图调用提供的URL。

1 个答案:

答案 0 :(得分:0)

如果它甚至没有像您建议的那样调用URL,则表明该URL无效。尝试看看在一些测试用例中返回的内容:

  $('#select').change(function() {
    var url = Drupal.settings.basePath + 'custom-ajax/' + $(this).val();
    alert(url);
    window.location = url;
  });