西风夜空
随笔- 6  文章- 2  评论- 2 
博客园  首页  新随笔  联系  管理  订阅 订阅

IE与Firefox在处理Ajax时的一点小差异。

在用Ajax提交一个表单的时候,IE正常,Firefox却在提交表单后刷新了当前页,在浏览器地址栏里能看见提交的参数,这就不符合Ajax的思想了。

花了好长时间跟踪才发现,当Ajax 发送一个异步请求的时候,IE在执行完ajax.send()后就会停下来,而Firefox则不会。

解决方法其实很简单:

1、在表单按钮触发事件时这么写 <button onclick='return doSubmit()'>提交</button>

2、在ajax.send()之后return false来强制终止执行

 

1 function doSubmit(){
2 var f = $('sForm');
3 var oot = $('tips');
4 url = "./user.php?action=add&username="+f.username.value+"&password="+f.password.value;
5 //alert(url);
6   ajax.open("GET", url, true);
7 ajax.onreadystatechange = function(){
8 if(ajax.readyState == 4){
9 if(ajax.status == 200){
10 //alert(ajax.responseText);
11   showTips(oot,'yes',ajax.responseText,2000);
12 }else{
13 showTips(oot,'no',ajax_err,2000);
14 }
15 };
16 }
17 ajax.send(null);
18 return false;
19 }

 

posted @ 2010-06-21 18:28 西风夜空 阅读(202) 评论(1) 编辑 收藏
刷新评论刷新页面返回顶部
程序员问答社区,解决您的IT难题
博客园首页博问新闻闪存程序员招聘知识库
Copyright ©2012 西风夜空