在ASP.NET中使用AJAX的简单方法(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析在ASP.NET中调用存储过程的方法
  在使用.NET的过程中,数据库访问是一个很重要的部分,特别是在B/S系统的构建过程中,数据库操作几乎成为了一个必不可少的操作。调用存储过程实现数据库操作使很多程序员使用的方法,而且大

function GetMSXmlHttp()
{
 var xmlHttp = null;
 var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP.2.6","Microsoft.XMLHTTP.1.0",
"Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];
 for(var i=0; i<clsids.length && xmlHttp == null; i ) {
  xmlHttp = CreateXmlHttp(clsids[i]);
 }
 return xmlHttp;
}

function CreateXmlHttp(clsid) {
 var xmlHttp = null;
 try {
  xmlHttp = new ActiveXObject(clsid);
  lastclsid = clsid;
  return xmlHttp;
 }
 catch(e) {}
}

  由于MSXML5只是为Office设计的,因此,我们可以不考虑MSXML5。所以GetMSXmlHttp方法可以简化为以下形式:

function GetMSXmlHttp() {
 var xmlHttp = null;
 var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0"];
 for(var i=0; i<clsids.length && xmlHttp == null; i ) {
  xmlHttp = CreateXmlHttp(clsids[i]);
 }
 return xmlHttp;
}

  我们可以看出,GetXmlHttpObject方法有一个handle参数,这个参数指向一个回调方法,这个回调方法将被定义在每一个需要刷新的aspx页中。现在我们已经有了一个XmlHttp对象,接下来我们可以发送一个异步的HTTP请求了。

function SendXmlHttpRequest(xmlhttp, url) {
 xmlhttp.open('GET', url, true);
 xmlhttp.send(null);
}

  在以上代码中我使用了一个GET HTTP请求发送了一个URL,你可以很容易修改以上的JavaScript代码,使其发送其它的HTTP方法。

  写在aspx页中的方法

  现在我们已经编写完调用远程页面的所有方法。为了执行这些方法,我们需要为GetXmlHttpObject方法传递一个回调方法名,然后向SendXmlHttpRequest方法传递一个URL字符串。下面是相应的实现代码:

var xmlHttp;

function ExecuteCall(url)
{
 try
 {
  xmlHttp = GetXmlHttpObject(CallbackMethod);
  SendXmlHttpRequest(xmlHttp, url);
 }
 catch(e){}
}

//CallbackMethod will fire when the state
//has changed, i.e. data is received back
function CallbackMethod()
{
 try
 {
  //readyState of 4 or 'complete' represents
  //that data has been returned
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
  {
   var response = xmlHttp.responseText;
   if (response.length > 0)
   {
    //update page
    document.getElementById("elementId").innerHTML = response;
   }
  }
 }
 catch(e){}
}

分享:判断浏览器是否接受Cookies
 一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。   我编写了一个简单的示例来说明

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程