+ -
当前位置:首页 → 问答吧 → jquery ajax error 问题

jquery ajax error 问题

时间:2009-04-21

来源:互联网

复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>input 提示</title>
  6. <script src="../../jquery.js" language="javascript"></script>
  7. <style type="text/css">
  8. html , body , div , span , p , img , a , ul , li , table , tr , td , form , input , button , textarea {
  9.     margin:0;
  10.     padding:0;
  11.     border:0;
  12. }
  13. body {
  14.     COLOR:#000;
  15.     font:normal normal normal 12px/180% Tahoma, Arial, Helvetica, sans-serif, "宋体";
  16. }
  17. #Class {
  18.     margin:100px;
  19. }
  20. #Class span {
  21.     margin-right:138px;
  22. }
  23. #Class input {
  24.     border:#ccc 1px solid;
  25.     margin-right:20px;
  26.     
  27. }
  28. #Class textarea {
  29.     height:0;
  30.     width:0;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div id='Class'>
  36.      <span>分类1:</span><span>分类2:</span><span>分类3:</span><span>分类4:</span>
  37.      <form action='http://127.0.0.1'>
  38.     <input type='text' /><input type='text' /><input type='text' /><input type='text' /><textarea></textarea>
  39.      </form>
  40. </div>
  41. <script>
  42.    $("#Class input").focus(function(){
  43.     var _this=$(this);
  44.     $("#Class").append("<div><img src='loading.gif' /></div>");
  45.     $("#Class div").css({'border':"#666 1px solid",'width':"140px",'margin-top':"-1px",'padding':"5px",'position':"absolute",'z-index':"1001",'left':_this[0].offsetLeft,'top':_this[0].offsetTop+19})
  46.     $.ajax({
  47.            url: "http://127.0.0.1/1/clew/5/1.html",
  48.            cache: false,
  49.        error: function(){alert('网络错误!');$("#Class textarea").focus()},
  50.            success: function(html){
  51.           
  52.       
  53.            }
  54.         });
  55.    });
  56. </script>
  57. </body>
  58. </html>


为什么那个  alert('网络错误')  会出现两次呢

IE FF 都出现了两次

但 OPERA   chrome Safari  只出现一次

作者: mslove   发布时间: 2009-04-21

没人帮忙吗,还是我的问题太傻了

作者: mslove   发布时间: 2009-04-21

用firebug调试看看,有没有出现两次ajax?

作者: shawphy   发布时间: 2009-04-21

ajax 是连了两次,但为什么 FF要连两次呢,我明明把焦点移到别的地方上去了。

难道FF有什么特性

作者: mslove   发布时间: 2009-04-22

似乎由于出现了alert,就认为失去了焦点
然后点击确定后又获取了焦点,就又触发一次了

我测试下来,如果$("#Class textarea").focus()这句没写,会造成无限的alert的
而我把这句alert换成document.title+=1,则只出现一次title的变化

作者: shawphy   发布时间: 2009-04-22