jquery ajax加载在Chrome 35或Safari 5中无效

时间:2014-06-13 06:55:11

标签: jquery ajax google-chrome

适用于FF和IE。仅使用服务器页面。 页面重新加载而不是加载ajax内容。有时在重新加载之前会显示损坏的图像图标,即使只输出文本。

我回去检查了一个使用相同ajax语法的不同网站,并在Chrome中发现了不稳定的行为。 ajax内容中缺少一些文本。在随后的尝试中消失的PHP错误(这可能是无关的)。

这是ajax代码:

var ajax_load = '<img src="/ajax-loader_big.gif" width="35px" alt="loading..." />';
var m = document.getElementById("MID").value;
$("#TxtContent").html(ajax_load).load("getMsg.php", {m: m});

从这个HTML调用它:

<form method=post action="">
<input type="text" id="MID" name="MID" cols="6" autofocus ><br><br>
<button onclick="processMID();" >Find my message!</button>
</form>

我已经看到很多关于Chrome的类似问题的问题,但它通常与本地运行的文件有关。我还没有看到有人询问网页重新加载。

我已经过测试,看看是否已经运行了被调用的文件(至少是它开始运行)。我用一个简单的文本回声替换了被调用的文件。

我怀疑重新加载问题是Chrome和返回的ajax之间的交互问题

最让我感到烦恼的是上一个网站中使用jquery load()和Chrome的不可靠行为。

1 个答案:

答案 0 :(得分:2)

我认为该按钮充当提交按钮。使用return false;来阻止此默认行为。

<button onclick="processMID();return false;" >Find my message!</button>

您还可以更改表单的操作以阻止提交:

<form method=post action="javascript:void(0);">