CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

ajax错误,是关于ajax实践一书里的一个简单例子,请大家帮忙看看...

楼主szheto(heto)2006-06-04 19:21:42 在 .NET技术 / ASP.NET 提问

<%@   Page   Language="vb"   AutoEventWireup="false"   Codebehind="WebForm7.aspx.vb"   Inherits="ajaxtest.WebForm7"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <title>WebForm7</title>  
  <meta   name="GENERATOR"   content="Microsoft   Visual   Studio   .NET   7.1">  
  <meta   name="CODE_LANGUAGE"   content="Visual   Basic   .NET   7.1">  
  <meta   name="vs_defaultClientScript"   content="JavaScript">  
  <meta   name="vs_targetSchema"                         content="http://schemas.microsoft.com/intellisense/ie5">  
  <script   type="text/javascript"   src="net.js"></script>  
  <script   type="text/javascript">  
  function   FillTerritory(oElem,oTarget)  
  {  
    var   strValue=oElem.value;  
    var   url="WebForm8.aspx";  
    var   strParams="q="   +   strValue;  
    var   loader1=new   net.ContentLoader(url,FillDropDown,null,"POST",strParams);  
    }  
    function   FillDropDown(){  
                  var   xmlDoc   =   this.req.responseXML.documentElement;                              
                  var   xSel   =   xmlDoc.                                                                                            
                        getElementsByTagName('entry')[0];                                        
                                      var   name   =   xSel.                                                                                        
                        childNodes[0].firstChild.nodeValue;                                      
                                        var   option=document.Form1.name;    
                                        option.value=name;  
                  }                                                                                                                              
                                   
  </script>  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <INPUT   id="part"   style="Z-INDEX:   101;   LEFT:   136px;   POSITION:   absolute;   TOP:   176px"   type="text"  
  onchange="FillTerritory(this,document.Form1.name)"><INPUT   id="name"   style="Z-INDEX:   102;   LEFT:   320px;   POSITION:   absolute;   TOP:   176px"   type="text">  
  </form>  
  </body>  
  </HTML>  
   
  查询数据库里的数据页面:WebForm8.aspx  
  Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                  Response.ContentType   =   "text/xml"  
   
                  Dim   strQuery   As   String  
                  strQuery   =   Request.Form("q")  
                  Dim   strSql   As   String   =   "SELECT   CL_Name   FROM   CLIENT   WHERE   CL_No   =   "   &   _  
                                                                strQuery   &   "order   by   CL_No"  
                  Dim   dtOptions   As   DataTable  
                  dtOptions   =   FillDataTable(strSql)  
   
                  Dim   strXML   As   StringBuilder  
                  strXML   =   New   StringBuilder("<?xml   "   &   _  
                                                            "version=""1.0""   ?>")  
                  Dim   row   As   DataRow  
                  strXML.Append("<entry>")  
                  For   Each   row   In   dtOptions.Rows  
   
                          strXML.Append("<text>"   &   _  
                                              row("CL_Name")   &   _  
                                              "</text>")  
   
                  Next  
                  strXML.Append("</entry>")  
                  'Response.Write("<script   language=javascript>window.alert('error');</script>")  
                  Response.Write(strXML.ToString)  
   
          End   Sub  
   
          Public   Function   FillDataTable(   _  
                                            ByVal   sqlQuery   As   String)   _  
                                            As   DataTable  
                  Dim   strConn   As   String   =   "server=TEO;uid=sa;pwd=;database=jacky"  
                  Dim   cmd1   As   _  
                  New   SqlClient.SqlDataAdapter(sqlQuery,   _  
                                                                            strConn)  
                  Dim   dataSet1   As   New   DataSet  
                  cmd1.Fill(dataSet1)  
                  cmd1.Dispose()  
                  Return   dataSet1.Tables(0)  
          End   Function  
   
  net.js页面:  
  var   net   =   new   Object();  
   
  net.READY_STATE_UNINITIALIZED   =   0;  
  net.READY_STATE_LOADING   =   1;  
  net.READY_STATE_LOADED   =   2;  
  net.READY_STATE_INTERACTIVE   =   3;  
  net.READY_STATE_COMPLETE   =   4;  
   
   
  /*---   content   loader   object   for   cross-browser   requests   ---*/  
  net.ContentLoader   =   function(url,   onload,   onerror,   method,   params,   contentType)   {  
          this.req   =   null;  
          net.currentLoader   =   this;  
          this.onload   =   onload;  
          this.onerror   =   (onerror)   ?   onerror   :   this.defaultError;  
          this.loadXMLDoc(url,   method,   params,   contentType);  
  }  
   
  net.ContentLoader.prototype.loadXMLDoc   =   function(url,   method,   params,   contentType)   {  
   
          if   (window.netscape   &&   window.netscape.security.PrivilegeManager.enablePrivilege)  
                  netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');  
   
          if   (!method)   {  
                  method   =   "GET";  
          }  
          if   (!contentType   &&   method   ==   "POST")   {  
                  contentType   =   'application/x-www-form-urlencoded';  
          }  
          if   (window.XMLHttpRequest)   {  
                  this.req   =   new   XMLHttpRequest();  
          }   else   if   (window.ActiveXObject)   {  
                  this.req   =   new   ActiveXObject("Microsoft.XMLHTTP");  
          }  
          if   (this.req)   {  
                try   {  
                          var   loader   =   this;  
                          this.req.onreadystatechange   =   function()   {  
                                  net.ContentLoader.onReadyState.call(loader);  
                             
                          }  
                          this.req.open(method,   url,   true);  
                          if   (contentType)   {  
                                  this.req.setRequestHeader('Content-Type',   contentType);  
                          }  
                          this.req.send(params);  
                }   catch   (err)   {  
                          this.onerror.call(this);  
                }  
          }  
  }  
   
   
  net.ContentLoader.onReadyState   =   function()   {  
          if   (window.netscape   &&   window.netscape.security.PrivilegeManager.enablePrivilege)  
                  netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');  
          var   req   =   this.req;  
          var   ready   =   req.readyState;  
          if   (ready   ==   net.READY_STATE_COMPLETE)   {  
                  var   httpStatus   =   req.status;  
                  //if   (status==200   ||   httpStatus==0){  
                  if   (httpStatus   ==   200   ||   httpStatus   ==   0)   {  
                          this.onload.call(this);  
                  }   else   {  
                          this.onerror.call(this);  
                  }  
          }  
  }  
   
  net.ContentLoader.prototype.defaultError   =   function()   {  
          alert("error   fetching   data!"  
                          +   "\n\nreadyState:"   +   this.req.readyState  
                          +   "\nstatus:   "   +   this.req.status  
                          +   "\nheaders:   "   +   this.req.getAllResponseHeaders());  
  }  
  问题点数:100、回复次数:8Top

1 楼lazyfish(呆呆虫)回复于 2006-06-04 19:46:44 得分 0

什么错误要贴出来,估计大部分人还不能取代编译器的功能。Top

2 楼szheto(heto)回复于 2006-06-04 19:58:37 得分 0

错误就是弹出错提示信息如下:  
  error   fetching   data!  
   
  readyState;4  
  status:500  
  headers:Date:Sun,o4   Jun   2006   11:54:35   GMT  
  Server:Microsoft-IIS/6.0  
  X-Powered-By:ASP.NET  
  X-AspNet-Version:1.1.4322  
  Cache-Control:private  
  Content-Type:test/html;charset=utf-8  
  Content-Length:5416Top

3 楼pfc001(pfc001)回复于 2006-06-04 20:56:52 得分 0

浏览器不支持Top

4 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2006-06-04 23:16:13 得分 0

status:500——表明AJAX在取数据时发生了服务器端错误,详细是什么错误你就要自己模拟客户端AJAX的请求去测试一下了。Top

5 楼hagain()回复于 2006-06-05 08:30:14 得分 0

白痴痴地问:ajax是什么喔?Top

6 楼ilovejolly(有些伤感)回复于 2006-06-05 08:36:49 得分 0

markTop

7 楼szheto(heto)回复于 2006-06-05 11:16:58 得分 0

大哥大姐,有没有详细点的解决方法.Top

8 楼szheto(heto)回复于 2006-06-06 13:20:35 得分 0

顶!!!Top

相关问题

关键词

得分解答快速导航

  • 帖主:szheto

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo