新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 讨论HTML、XHTML、Web2.0、Ajax、XUL, ExtJS, jQuery, JSON、Social Networking System(SNS)、Rich Internet Applications (RIA)、Tagging System、Taxonomy(tagsonomy,folkonomy)、XForms、XFrames、XInclude, XBL (XML Binding Language)等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』 → 帮我看一个ajax的问题,谢谢了. 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4084 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 帮我看一个ajax的问题,谢谢了. 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     weisnet 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/11/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给weisnet发送一个短消息 把weisnet加入好友 查看weisnet的个人资料 搜索weisnet在『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』的所有贴子 引用回复这个贴子 回复这个贴子 查看weisnet的博客楼主
    发贴心情 帮我看一个ajax的问题,谢谢了.

    ////////////////////Ajax////////////Class///////////////////
    //Power By WeisNet CopyRight @2006
    //Edit Section for 56Best
    /////////////////////////////////////////////////

    var Try = {
      these: function() {
        var returnValue;

        for (var i = 0; i < arguments.length; i++) {
          var lambda = arguments[i];
          try {
            returnValue = lambda();
            break;
          } catch (e) {}
        }

        return returnValue;
      }
    }

    function grr(rp) {
              if(RegExp.$1)/(.*)/.exec("");
              var re=new RegExp("<result>(.*)</result>");
              re.exec(rp);
              if(RegExp.$1) return RegExp.$1;
              return "";
    }

    function crr(rp) {
              if(RegExp.$1)/(.*)/.exec("");
              var re=new RegExp("<content>(.*)</content>");
              re.exec(rp);
              if(RegExp.$1) return RegExp.$1;
              return "";
    }

    var Ajax = function() {}
    var xhr ;
    Ajax.prototype.Init = function(){
          return Try.these(
              function() {return new ActiveXObject("Msxml2.XMLHTTP")},
              function() {return new ActiveXObject("Microsoft.XMLHTTP")},
              function() {return new XMLHttpRequest()}
          ) || false;
    }

    Ajax.prototype.Config = {
          Init:function() {},
          Result:"",
          SucInfo:"",
          FaildInfo:"",
          Url:"",
          returnType:"Compare"
    }

    var aj = new Ajax();

    Ajax.prototype.func = function() {
                if (typeof xhr != 'undefined')  
                     if (xhr.readyState == 4) {
                            if (xhr.status == 200)
                              {
                                   aj.FuncResult();
                              }
                            else
                              {
                                   aj.Config.Result = "";
                                   return false;
                              }
                  }
                  else
                  {
                      aj.Config.Result = "";
                      return false;
                  }
        }
           

    Ajax.prototype.Action = function(url) {
          url = url+'&e='+Math.random();
          xhr = aj.Init();    
          xhr.open("POST",url,false);
          xhr.onreadystatechange = aj.func;
          xhr.send(null);
    }

    Ajax.prototype.onResult = function(v) {
          return v==aj.Config.Result;
    }

    Ajax.prototype.FuncResult = function()
    {
          if (aj.Config.returnType=='Compare')
          {
               if (aj.onResult(grr(xhr.responseText)))
               {
                    aj.Config.Spn.innerHTML = aj.Config.FaildInfo;
               }
               else
               {
                    aj.Config.Spn.innerHTML =  aj.Config.SucInfo;
                    aj.location();
               }
          }
          else
          {
               aj.Config.Spn.innerHTML = crr(xhr.responseText);
          }
    }

    Ajax.prototype.location = function()
    {
          if (aj.Config.Url!='')
                 window.location.href=aj.Config.Url;
    }


    Html页面
    <html>
    <head>
    <title>Ajax小方法,使用方法</title>
    <script language='javascript'>...
    function Cfrlogname(ln)
    ...{
          if (!checkByteLength(ln.value.trim(),4,20))
          ...{
                 alert('请输入4-20字符用户名!');
                 ln.focus();
                 return false;
          }
          
          var Webreq = new Ajax();
          Webreq.Config.Result = "OkSuc";
          Webreq.Config.Spn = document.all.logName_info;
          Webreq.Config.SucInfo = "验证成功!";
          Webreq.Config.FaildInfo = "对不起,验证失败!";
              Webreq.Config.returnType = 'Compare';
              Webreq.Config.Url = 'www.56best.cn';
          Webreq.Action('editData.aspx?types='+ln.value.trim())
    }
            </script>
    </head>
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td><input type="text" name="logName" id="logName" runat="server" >
                      <input type="button" name="Submit" value="检查会员名" onclick="Cfrlogname(document.all.logName)"></td>
                  </tr>
                  <tr>
                    <td class="gray_2"><div id="logName_info">&nbsp;</div></td>
                  </tr>
    </table>
    </body>
    </html>

    使的的后台代码是 .aspx.vb 里面
    Sub Page_Load()sub Page_Load()
         dim Str as string = Request.QueryString("types")
         Response.Write("<zwd><result>OkSuc</result></zwd>")
    end sub


    =============================================

    如果在这个页面(HTML)只使用一次这个AJAX方法,不会有问题

    但是如果同时多次使用(就是在加载页面时,获取数据时),就会出错。 一般是最后一个使用这个AJAX方法的地方,才会正常显示数据,其他的不能显示。

    请帮我看一下.


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/30 0:19:00
     
     weisnet 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/11/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给weisnet发送一个短消息 把weisnet加入好友 查看weisnet的个人资料 搜索weisnet在『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』的所有贴子 引用回复这个贴子 回复这个贴子 查看weisnet的博客2
    发贴心情 
    怎么没有人回答呢?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/30 12:46:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/12 22:08:01

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    3,007.813ms