您的位置:首页 > 理论基础 > 计算机网络

系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)

2007-06-26 15:52 519 查看
作者:webabcd

介绍
学习一下Sys.Net命名空间下与web请求相关的类,WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor

关键
1、Sys.Net.WebRequestManager
Class
·add_completedRequest(handler); - 添加请求完成后的处理器

·remove_completedRequest(handler); - 移除请求完成后的处理器

·add_invokingRequest(handler); - 添加处理调用请求的处理器

·remove_invokingRequest(handler); - 移除处理调用请求的处理器
·defaultTimeout -
默认超时时间

2、Sys.Net.WebRequest Class
·add_completed(handler); -
添加请求完成后的处理器
·remove_completed(handler); - 移除请求完成后的处理器
·invoke(); -
执行请求
·getResolvedUrl(); - 转换为可用url
·body - HTTP的Body内容

·executor - 与当前WebRequest对象相关的executor
·headers - HTTP的头信息

·httpVerb - HTTP请求方式“GET”或“POST”
·timeout - 请求超时时间
·url -
请求的url
·userContext - 用户上下文

3、Sys.Net.WebRequestExecutor
Class
·abort(); - 终止请求
·executeRequest(); - 执行请求

·getAllResponseHeaders(); - 获得全部头信息
·getResponseHeader(key); -
获得指定头信息
·aborted - 请求是否被终止
·responseAvailable - 请求是否成功完成

·responseData - 响应当前请求的Body文本
·started - 是否已经开始处理请求
·statusCode -
状态代码
·statusText - 状态信息
·timedOut - 请求是否超时
·xml -
响应当前请求的XMLDOM对象
·webRequest -
获得与当前executor相关的WebRequest对象

4、Sys.Net.XMLHttpExecutor Class

·abort(); - 终止请求
·executeRequest(); - 执行请求

·getAllResponseHeaders(); - 获得全部头信息
·getResponseHeader(key); -
获得指定头信息
·aborted - 请求是否被终止
·responseAvailable - 请求是否成功完成

·responseData - 响应当前请求的Body文本
·started - 是否已经开始处理请求
·statusCode -
状态代码
·statusText - 状态信息
·timedOut - 请求是否超时
·xml -
响应当前请求的XMLDOM对象

示例
GetTarget.xml

<?xml version="1.0" encoding="utf-8" ?>
<root>
<employee>
<name>webabcd</name>
<age>27</age>
</employee>
<employee>
<name>ge</name>
<age>26</age>
</employee>
</root>


PostTarget.aspx

<!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>Post Target测试页</title>

</head>
<body>
<form id="form1" runat="server">
<div>
<h1>
<%= DateTime.Now.ToString() %>
</h1>
<p>
<asp:TextBox ID="Label1" Text="test" runat="server" />
</p>
</div>
</form>
</body>
</html>


WebRequestAndWebRequestExecutor.js

var getPage;
var postPage;
var displayElement;

function pageLoad()

function GetWebRequest()

function PostWebRequest()

// executor - WebRequestExecutor对象
function OnWebRequestCompleted(executor, e)

// 通知ScriptManager这段脚本已经加载完毕
if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();


WebRequestAndWebRequestExecutor.aspx

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="Server">
</asp:ScriptManagerProxy>
<p>
<input type="button" id="btnGetWebRequest" onclick="GetWebRequest()" value="GetWebRequest" />
</p>
<p>
<input type="button" id="btnPostWebRequest" onclick="PostWebRequest()" value="PostWebRequest" />
</p>
<hr />
<div id="resultId" style="background-color: Aqua;">
</div>
</asp:Content>


运行结果
1、单击“GetWebRequest”按钮
弹出框,信息:当前的URL
显示与“GetTarget.xml”相关的结果

2、单击“PostWebRequest”按钮
可能提示超时,也可能显示与“PostTarget.aspx”相关的结果

WebRequestManagerAndXMLHttpExecutor.js

var displayElement;

function pageLoad()

function GetData()

// executor - WebRequestExecutor对象
function OnWebRequestCompleted(executor, e)

function ExecuteRequest()

// 通知ScriptManager这段脚本已经加载完毕
if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();


WebRequestManagerAndXMLHttpExecutor.aspx

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="Server">
</asp:ScriptManagerProxy>
<p>
<input type="button" id="btnGetData" onclick="GetData()" value="GetData" />
</p>
<p>
<input type="button" id="btnExecuteRequest" onclick="ExecuteRequest()" value="ExecuteRequest" />
</p>
<hr />
<div id="resultId" style="background-color: Aqua;">
</div>
</asp:Content>


运行结果
1、单击“GetData”按钮
可能提示超时,也可能提示终止,也可能显示与“PostTarget.aspx”相关的结果

2、单击“ExecuteRequest”按钮
提示executor已经开始处理请求,显示与“GetTarget.xml”相关的结果

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