加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:25:32 所属栏目:asp.Net 来源:网络整理
导读:我正在和jQuery进行一个ajax调用.在IE 7中,ajax调用工作正常,但是FireFox 3在进行此调用时始终会进行全页刷新. ajax调用是POST ASP.NET页面方法. 在jQuery中有问题吗或者我只是想丢一些设置? $.ajax({async: false,type: "POST",url: "Default.aspx/DoSomet
我正在和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中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读