asp.net – jQuery的ajax正在导致FireFox的全页刷新

前端之家收集整理的这篇文章主要介绍了asp.net – jQuery的ajax正在导致FireFox的全页刷新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在和jQuery进行一个ajax调用.在IE 7中,ajax调用工作正常,但是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事件进行.我尝试了“返回假”在做这个ajax调用方法中,但FireFox的全面刷新仍在继续.

我尝试设置async = true,但这似乎不起作用. FireFox只是继续前进,不等待后端返回响应. FireFox(在js中)实际上是在ajax调用中产生错误.如上所述,错误函数是定义的,当我设置async = true时触发.

解决方法

返回false是您需要的,但是如果在您点击该行之前发生了JavaScript错误,那么浏览器会继续快速执行链接点击或按钮单击事件.

您可以尝试使用try / catch块尝试环绕潜在的问题区域.

或者你可以试试这个:

e.preventDefault作为处理程序中的第一个语句.这应该是停止默认事件的发生,我想你可以称之为前面…我只是没有尝试过.

编辑:我还想补充说,ajax错误:处理程序只捕获来自服务器的错误…像403或500.你还应该将ajax调用包装在一个try / catch中.

原文链接:https://www.f2er.com/aspnet/250343.html

猜你在找的asp.Net相关文章