用XMLHttpRequest对象实现局部更新
来源:互联网 发布:厨房清洁剂 知乎 编辑:程序博客网 时间:2024/06/07 19:37
最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。
来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。
XmlHttp对象的属性:
XmlHttp对象的方法:
如何发送一个简单的请求?
最简单的请求是,不以查询参数或提交表单的方式向服务器发送任何信息.使用XmlHttpRequest对象发送请求的基本步骤:
● 为得到XmlHttpRequest对象实例的一个引用,可以创建一个新的XmlHttpRequest的实例。
● 告诉XmlHttpRequest对象,那个函数回处理XmlHttpRequest对象的状态的改变.为此要把对象的
onreadystatechange属性设置为指向JavaScript的指针.
● 指定请求属性.XmlHttpRequest对象的Open()方法会指定将发送的请求.
● 将请求发送给服务器.XmlHttpRequest对象的send()方法将请求发送到目标资源.
Test.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Erp.WebReportReport.Test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script language="javascript" type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function AddNumber() { createXMLHttpRequest(); var url = "AddHandler.ashx?num1=" + document.getElementById("num1").value + "&num2=" + document.getElementById("num2").value; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = ShowResult; xmlHttp.send(null); } function ShowResult() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { document.getElementById("sum").value = xmlHttp.responseText; } } } </script></head><body> <form id="form1" runat="server"> <div> <div style="text-align: center"> <br /> 无刷新求和示例<br /> <br /> <input id="num1" style="width: 107px" type="text" onkeyup="AddNumber();" value="0" /> +<input id="num2" style="width: 95px" type="text" onkeyup="AddNumber();" value="0" /> =<input id="sum" style="width: 97px" type="text" /></div> </div> </form></body></html>
AddHandler.ashx:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;namespace Erp.WebReport{ /// <summary> /// $codebehindclassname$ 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class AddHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; int a = Convert.ToInt32(context.Request.QueryString["num1"]); int b = Convert.ToInt32(context.Request.QueryString["num2"]); int result = a + b; context.Response.Write(result); } public bool IsReusable { get { return false; } } }}
- 用XMLHttpRequest对象实现局部更新
- [学习笔记]XMLHttpRequest实现局部刷新
- 利用history对象实现地址栏更新,页面局部刷新
- ListView实现局部更新
- XMLHttpRequest 对象实现异步交互
- XMLHttpRequest 实现无刷新更新页面数据
- Ajax实现页面局部更新
- 用ASP实现XMLHttpRequest
- 用XMLHttpRequest对象打造AJAX
- 不使用XMLHttpRequest对象实现Ajax效果
- 通过XMLHttpRequest对象实现Ajax跳转
- XMLHttpRequest对象
- XMLHttpRequest对象
- XMLHttpRequest对象
- XMLHttpRequest对象
- XMLHttpRequest对象
- XMLHttpRequest对象
- XMLHttpRequest对象
- Warning: The Copy Bundle Resources build phase contains
- OpenCV中Mat类型格式
- spring(基础六) spring中Bean属性为集合的注入方式
- cocos2dx 3.x在Android的各种坑总结
- 直接拿来用!最火的Android开源项目(完结篇)
- 用XMLHttpRequest对象实现局部更新
- java.sql.SQLException: ORA-00918: 未明确定义列
- 使用AutoCompleteTextView和SharePreference实现搜索历史自动提示功能
- Xcode6模拟器iOS8键盘出不来问题
- 黑马程序员-银行业务调度系统
- #--如何在一个函数中返回两个值
- 《古剑奇谭2》详细测评心得
- 数据库事务隔离级别
- 类中方法的分类和实现