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

时间:2015-06-19 19:34:05

标签: php jquery ajax google-chrome

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

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返回null值,则会显示警报。我试过ctrl + F5但不行。

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

谢谢!

2 个答案:

答案 0 :(得分:0)

失败函数会返回什么内容吗?

request.done(function( msg ) {
  console.log(msg);
});

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

答案 1 :(得分:0)

问题是当我发出ajax请求时。我是在" onchange" (使用jQuery自动完成的输入文本)jQuery事件。当我选择自动填充列表中的项目时,Chrome中不会引发onchange()事件(在Firefox中为是)。

所以我在jQuery" focusout"中解雇了ajax请求。活动,适用于Chrome和Firefox。