ajax--从基础开始
来源:互联网 发布:淘宝优惠链接怎么弄的 编辑:程序博客网 时间:2024/05/12 13:19
ajax的实现主要依靠浏览器内部的XMLHttpRequest对象,XMLHttpRequest对象在所有现代的浏览器中都被实现了,虽然它还没有被标准化,目前仅是W3C的一个Working Draft. 套用下W3C对它的描述:
The XMLHttpRequest specification defines an API that provides scripted client functionality for transferring data between a client and a server.
不过IE对于该对象的实现与其他浏览器有所不同,它把它实现为ActiveX对象。下面的createXMLHttp()方法和startRequest() 方法展示了如何在客户端脚本中发起Http请求。XMLHttpRequest对象有几个常用属性,分别是:
属性 描述
onreadystatechange 每个状态变化都会触发这个事件处理器
readyState 请求的状态 0 未初始化 1 正在加载 2 已经加载 3 交互中 4 完成
responseText 服务器返回的值
status HTTP响应代码 200 OK 404 Not Found 等
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax From Beginning</title>
<script type="text/javascript">
var jsdebug={
print:function(content,elementID){
var id;
if(arguments.length==1){
id='debug';
} else
id=elementID;
var element=document.getElementById(id);
if(element)
element.innerHTML+=content;
}
};
var xmlHttp;
function createXMLHttp(){
if(window.ActiveXObject){
xmlHttp=new ActivXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function startRequest() {
createXMLHttp();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "HandleParam.ashx?country=china", true);
xmlHttp.send(null);
}
function handleStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
jsdebug.print(xmlHttp.responseText);
}
}
}
</script>
</head>
<body>
<form action='#'>
<input type="button" value="click me" onclick="startRequest()" />
</form>
<div id="debug"></div>
</body>
</html>
客户端发起请求的方式和访问普通网页的时候是类似的,只需要设置好正确的url就可以。将这个文件保存成ajax.htm并且设为起始页面。下面介绍服务器端代码,在VS中新建一个网站,添加一个Genric Handler,命名为HandleParam.ashx。 其响应代码为:public class HandleParam : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string s = context.Request.QueryString["country"];
string response = "Unknown";
if (s.ToLower() == "china")
response = "Beijing";
else if (s.ToLower() == "usa")
response = "Washington";
context.Response.Write(string.Format("Respnose From Server, the capital of {0} is {1}!",
s,response));
}
public bool IsReusable {
get {
return false;
}
}} 运行项目: 最后一行文字就是从服务器端获得的值。http://www.fengfly.com/html/CSS/wangyetexiao/
http://www.fengfly.com/html/shujuku/
雨 枫技 术教 程网 http://www.fengfly.com/html/CSS/wangyetexiao/ http://www.fengfly.com/html/CSS/wangyetexiao/ ..www.fengfly.com..
-
本文地址:http://www.fengfly.com/plus/view-172011-1.html
标签: Ajax 来源:www.cnblogs.com/yinzixin 作者:yinzixin
上一篇:AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
下一篇:Ajax杂谈
收藏到:
原文来自:雨枫技术教程网 http://www.fengfly.com
原文网址:http://www.fengfly.com/plus/view-172011-1.html
- ajax--从基础开始
- 从基础开始!!
- 一切从基础开始
- 从基础开始
- python从基础开始
- Ajax入门从这里开始
- 我想从0开始学习Ajax`请问都需要什么语言基础?
- 从python开始,零基础开始编程
- (1)从基础开始
- 从基础开始:CSS实用教程
- 一切从C#基础开始。
- JMeter学习 从基础开始
- 从基础开始 - resizable.js
- 从基础开始-draggable.js
- 从基础开始学java
- 从Hello World开始深入Ajax
- Java从基础开始_01Java基础
- [计划]从基础开始学习网络技术
- oracle:ERROR:ORA-12162: TNS:net service name is incorrectly specified解决方案
- Struts常用的Action--DispatchAction
- Activex 控件升级
- Myeclipse连接MySQL数据库
- 学无止境
- ajax--从基础开始
- linux_shell 中,产生随机数的方法
- 我的C算法库【3】:MERGE_SORT
- UML类图的几个关系及其区别
- VML教程
- jQuery对象和DOM对象使用说明
- GetAsyncKeyState
- ORACLE通用查询性能优化
- 【其他】【RQNOJ】三值排序