$.ajax.done适用于Firefox,但不适用于Chrome


$.ajax.done works on Firefox but not in Chrome

我有一个非常简单的 AJAX 请求,使用 jQuery 和 PHP。这是我的代码

var request = $.ajax({
    method: "POST",
    url: "Url.php",
    data: { param: valueParam },
    dataType: "html"
});
request.done(function(html) {
   alert('Hello');
});

该代码在Firefox 38.0.5中完美运行,但在Chrome 43.0.2357.124m中不起作用。

Chrome 中的问题如下:"Url.php"返回一个对名称值。如果它返回的值不同于 null,则不会显示警报(并且控制台中没有任何错误)。但是,如果 url 返回空值,则会显示警报。我尝试了ctrl + F5,但不起作用。

在Firefox中,这两种情况都很好用。

谢谢!

fail 函数会返回一些东西吗?

request.done(function( msg ) {
  console.log(msg);
});
request.fail(function( jqXHR, textStatus ) {
  console.log("Request failed: "+textStatus);
});

问题是当我触发 ajax 请求时。我在"onchange"(带有jQuery自动完成的输入文本)jQuery事件中这样做。当我选择自动完成列表中的一个项目时,onchange() 事件不会在 Chrome 中引发(是的,在 Firefox 中)。

所以我在jQuery"focusout"事件中触发ajax请求,并在Chrome和Firefox中工作。

相关文章: