1

尝试使用 jQuery 构建一个简单的 AJAX 请求。这是咖啡脚本:

$('#ad_id_string').blur(function() {
    var self, idString, adURL;
    self = $(this);
    if (self.val() != "") {
      idString = self.val();
      adURL = "/advertisements/" + idString;
      $.ajax({
        url: adURL,
        type: "GET",
        dataType: "json",
        data: "",
        async: false,
        contentType: "application/json",
        success: function(response, textStatus, jqXHR) {
          console.log(response);
        },
        error: function(jqXHR, textStatus, errorThrown) {
          console.log("Failed - " + textStatus + " : " + errorThrown);
        }
      });
    }
});

Firefox 执行请求没有问题,并且 JSON 按预期返回。但是,Chrome 甚至拒绝发送请求。相反,它给出了这个错误:NETWORK_ERR: XMLHttpRequest Exception 101

我试过设置async:true而不是false,以及async一起删除参数。这只会导致 chrome 在发送之前使请求失败,而不会出现任何类型的错误。我的 Q/A 人员将在 Chrome 或 Safari 中对此进行测试,因此它需要在这些浏览器中运行。

4

1 回答 1

0

看起来这与我的 Chrome 版本(23.0.1271.97)和有问题的 url 有关。我正在使用 Rails,所以我点击了http://localhost:3000,Chrome 在传递带有端口号的 AJAX 请求时遇到问题。

于 2012-12-12T20:03:39.453 回答