系统地学习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
PostTarget.aspx
WebRequestAndWebRequestExecutor.js
WebRequestAndWebRequestExecutor.aspx
运行结果
1、单击“GetWebRequest”按钮
弹出框,信息:当前的URL
显示与“GetTarget.xml”相关的结果
2、单击“PostWebRequest”按钮
可能提示超时,也可能显示与“PostTarget.aspx”相关的结果
WebRequestManagerAndXMLHttpExecutor.js
WebRequestManagerAndXMLHttpExecutor.aspx
运行结果
1、单击“GetData”按钮
可能提示超时,也可能提示终止,也可能显示与“PostTarget.aspx”相关的结果
2、单击“ExecuteRequest”按钮
提示executor已经开始处理请求,显示与“GetTarget.xml”相关的结果
OK
[源码下载]
介绍
学习一下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
[源码下载]
相关文章推荐
- 系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)
- 新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)
- 新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)
- 系统地学习ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- 新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager)
- 系统地学习ASP.NET AJAX(6) - 客户端脚本编程(Sys.WebForms命名空间下的类Sys.Serialization命名空间下的类)
- 系统地学习ASP.NET AJAX(5) - 客户端脚本编程(Sys.UI命名空间下的类和快捷方法)
- 系统地学习ASP.NET AJAX(7) - 客户端脚本编程(Sys命名空间下的类)
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- 系统地学习ASP.NET AJAX(5) - 客户端脚本编程(Sys.UI命名空间下的类和快捷方法)(转)
- ASP.NET MVC中使用AJAX(XMLHttpRequest、Microsoft AJAX Library......)
- XMLHTTPRequest在SuperMap IS.NET AjaxScripts地震灾害情报系统中的一个应用
- ASP.NET AJAX 中在客户端用 WebRequest 调用 Web Service
- asp.net ajax Sys.WebForms.PageRequestManagerServerErrorException 500 解决方法
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy)
- ASP.NET MVC中使用AJAX(XMLHttpRequest、Microsoft AJAX Library......)
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- AJAX原始对象的使用(XMLHttpRequest+javascript+asp.net)
- [转]ASP.NET AJAX and Sys.Webforms.PageRequestManagerServerErrorException