AJAX 基础,简单的实例:计算器

本文介绍了一个简单的AJAX应用实例,通过异步请求实现两数相加的加法运算。利用XMLHttpRequest对象,客户端JavaScript与服务器端C#代码进行交互,展示了基本的AJAX工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AJAX 组成
1.表示      XHTML+CSS
2.动态显示和交互 DOM
3.数据交互和操作 XML、XSLT
4.异步数据获取  XMLHttpRequest
5.绑定和处理数据 JavaScript

----------------------------------------
XMLHttpRequest 对象

     Number readyState 4
 属  Function onreadystatechange
     string responseText
     XMLDocument responseXML
 性  Number status 200
     string statusText OK

     void open(string,string,boolean)
               1.GET,POST,HEAD,PUT,DELETE
                 OPTIONS,TRACE
               2.url
               3.true
 方  void send(string)
     void setHeader(string,string)
    string getResponseHeader(string)
 法  string getAllResponseHeaders()
     void abort()

----------------------------------------
AJAX 应用

             提交
1.   XMLHttpRequest————>请求

         返回          分析
2、3. 服务器————>数据<————JavaScript



Default.aspx页面

None.gif <% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>
None.gif
None.gif
<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
None.gif
None.gif
< html xmlns = " http://www.w3.org/1999/xhtml "   >
None.gif
< head runat = " server " >
None.gif    
< title > AJAX之加法运算示例 </ title >
None.gif    
< script type = " text/javascript " >
None.gif        var xmlHttp;
None.gif        function createXMLHttpRequest()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {//创建XMLHttpRequest对象
InBlock.gif
            if(window.ActiveXObject)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{//判断浏览器,是否是IE浏览器
InBlock.gif
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else if(window.XMLHttpRequest)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{//判断浏览器,是否其他浏览器
InBlock.gif
                xmlHttp = new XMLHttpRequest();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

None.gif        function addNumber()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            createXMLHttpRequest();
InBlock.gif            var url
= "Handler.ashx?Num1="+document.getElementById("num1").value+"&Num2="+document.getElementById("num2").value;//传值到Handler.ashx处理
InBlock.gif
            xmlHttp.open("GET",url,true);//将url以GET方式提交打开,并使用异步方式,false是同步
InBlock.gif
            xmlHttp.onreadystatechange=showResult;//将onreadystatechange方法赋值
InBlock.gif
            xmlHttp.send(null);
ExpandedBlockEnd.gif        }

None.gif        function showResult()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
if(xmlHttp.readyState==4)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{//判断是否完成
InBlock.gif
                if(xmlHttp.status==200)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{//判断是否成功
InBlock.gif
                    document.getElementById("result").value=xmlHttp.responseText;//将发送回来的值传递到文本框中
ExpandedSubBlockEnd.gif
                }

ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

None.gif    
</ script >
None.gif
</ head >
None.gif
< body >
None.gif    
< form id = " form1 "  runat = " server " >
None.gif    
< div style = " text-align: center " >
None.gif        
< input id = " num1 "  style = " width: 99px "  type = " text "  value = " 0 "  onkeyup = " addNumber(); "   />+< input id = " num2 "  style = " width: 95px "
None.gif            type
= " text "  value = " 0 "  onkeyup = " addNumber(); "   />=< input id = " result "  style = " width: 99px "  type = " text "   /></ div >
None.gif    
</ form >
None.gif
</ body >
None.gif
</ html >
None.gif


小程序Handler.ashx

None.gif <% @ WebHandler Language = " C# "  Class = " Handler "   %>
None.gif
None.gif
using  System;
None.gif
using  System.Web;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
public   class  Handler : IHttpHandler  dot.gif {
InBlock.gif    
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public void ProcessRequest (HttpContext context) dot.gif{
InBlock.gif        context.Response.ContentType 
= "text/plain";
InBlock.gif
InBlock.gif        
int result = Convert.ToInt32(context.Request.QueryString["Num1"]) + Convert.ToInt32(context.Request.QueryString["Num2"]);//获取参数传递过来的两个数并相加
InBlock.gif
        context.Response.Write(result);//返回结果
ExpandedSubBlockEnd.gif
    }

InBlock.gif 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public bool IsReusable dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
get dot.gif{
InBlock.gif            
return false;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}

点此下载代码

转载于:https://www.cnblogs.com/mgod/archive/2007/04/07/704100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值