您的位置:首页 > 编程语言 > ASP

一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码

2006-06-14 15:37 1776 查看
本文是一篇介绍AJAX的入门级的范例式文章,希望能对初涉AJAX的朋友能有所帮助 ... ...
首先,让我们来看看Web浏览器端的JavaScript脚本代码,如下:

function Request() 
{ 
  if(window.XMLHttpRequest) 
  { 
    var xmlObj = new XMLHttpRequest(); 
  } 
  else
  { 
    var MSXML =['Microsoft.XMLHTTP','MSXML2.XMLHTTP.5.0',
    	'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP']; 
    for(var n = 0; n < MSXML.length; n++)
    { 
      try 
      { 
        var xmlObj = new ActiveXObject(MSXML
); 
        break; 
      }
      catch(e)
      {}
    } 
  } 
  xmlObj.open("POST","Test.aspx?IsAjaxRequest=true",true);
  
  xmlObj.send("CTidea AJAX Temple Test

www.ctidea.com]"); //要发送的能容,自己定好了
  xmlObj.onreadystatechange = function ()
  { 
    if (xmlObj.readyState == 4) 
    { 
      if(xmlObj.status == 200 || xmlObj.status == 304)
      {
        alert(xmlObj.responseText); 
      } 
      else 
      {
        alert("Error loading page/n"+ 
        xmlObj.status +":"+ xmlObj.statusText); 
      }
    } 
  } 
}

上面是一个Request函数,将在点击下面的按钮时调用

<input type="button" value="Button" onclick="Request()"><!-- 一个按钮,响应相关事件 -->

再看看服务器端脚本的编写,如下:

private void Page_Load(object sender, System.EventArgs e)
{
  if(Request.QueryString["IsAjaxRequest"] != null)//用于判断是不是客户端的XMLHttp请求

  {
    Response.Clear();
    byte[] myBytes = new byte[Request.ContentLength];
    Request.InputStream.Read(myBytes,0,Request.ContentLength);
    Response.Write(Request.ContentEncoding.GetString(myBytes,0,Request.ContentLength));
    Response.End();
    Response.Close();
  }
}

代码包下载:
CTidea AJAX Temple


点击浏览该文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐