gpt4 book ai didi

asp.net - jQuery 的 ajax 导致 FireFox 中的整页刷新

转载 作者:行者123 更新时间:2023-12-03 22:00:29 25 4
gpt4 key购买 nike

我正在使用 jQuery 进行 ajax 调用。 ajax 调用在 IE 7 中工作正常,但 FireFox 3 在进行此调用时始终会进行全页刷新。 ajax 调用正在 POST 到 ASP.NET 页面方法。

jQuery 有问题还是我只是缺少一些设置?

$.ajax({
async: false,
type: "POST",
url: "Default.aspx/DoSomething",
data: "{" + parms + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function(data) { succesfulPost(data); },
error: function(XMLHttpRequest, textStatus, errorThrown) {
errorPost(textStatus, errorThrown);
}
});

该调用是通过 html 按钮 onclick 事件进行的。我尝试过return false; 在进行此 ajax 调用的方法中,但 FireFox 中的完全刷新仍在继续。

我尝试设置 async = true,但这似乎不起作用。 FireFox 会继续运行,不会等待后端返回响应。 FireFox(在 js 中)实际上在 ajax 调用中生成错误。正如您在上面看到的,错误函数已定义,并且当我设置 async = true 时会触发该函数。

最佳答案

return false 是您所需要的,但是如果在您点击该行之前发生 JavaScript 错误,那么浏览器将继续愉快地执行链接单击或按钮单击事件。

您可以尝试使用 try/catch block 包围潜在的问题区域。

或者您可以尝试以下方法:

e.preventDefault 作为处理程序中的第一个语句。这应该阻止默认事件的发生,我认为你可以预先调用它......我只是还没有尝试过。

编辑:我还想补充一点,ajax error: handler 仅捕获来自服务器的错误...例如 403 或 500。您仍然应该将 ajax 调用包装在 try/catch 中。

关于asp.net - jQuery 的 ajax 导致 FireFox 中的整页刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/511947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com