WebForm页面使用Ajax
生活随笔
收集整理的這篇文章主要介紹了
WebForm页面使用Ajax
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
AJAX:”Asynchronous JavaScript and XML” 中文意思:異步JavaScript和XML。指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。AJAX并非縮寫詞,而是由Jesse James Gaiiett創(chuàng)造的名詞。 AJAX不是指一種單一的技術(shù),而是有機地利用了一系列相關(guān)的技術(shù): 1、web標準( Standards-Based Presentation )XHTML+CSS的表示; 2、使用 DOM( Document Object Model )進行動態(tài)顯示及交互; 3、使用 XML 和 XSLT 進行數(shù)據(jù)交換及相關(guān)操作,使用 XMLHttpRequest 進行異步數(shù)據(jù)查詢、檢索. 簡單理解為:JavaScript + XMLHttpRequest + CSS +服務(wù)器端 的集合.廢話少說,下面直接上代碼(這里我只寫以Post方式發(fā)送請求的代碼,關(guān)于JQuery中使用ajax跟以Get方式發(fā)送請求,我就不寫了),在下面的代碼中,我會從建立異步對象,到在WebForm頁面中使用異步對象來說說我的體會。 1、用js創(chuàng)建兼容瀏覽器的ajax異步對象 function createAjax() {
var ajaxObject = false;
try {
ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
ajaxObject = false;
}
}
if (!ajaxObject && typeof (XMLHttpRequest) != 'undefinded') {
ajaxObject = new XMLHttpRequest();
}
return ajaxObject;
} 復(fù)制代碼 2、頁面中ajax的使用 <script type="text/javascript">
var ajaxObject;
window.onload = function () {
ajaxObject = createAjax();
getControl("btnOK").onclick = submitData1;
}
function submitData1() {
var txtName = getControl("txtName").value;
//以Post方式請求發(fā)送請求
ajaxObject.open("POST", "ResponseEnd.aspx", true);
//以Post方式發(fā)送異步請求需要設(shè)置請求頭
ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxObject.onreadystatechange = function () {
if (ajaxObject.readyState == 4) {
//狀態(tài)200表示異步對象已經(jīng)完全接收完服務(wù)器響應(yīng)的數(shù)據(jù)
if (ajaxObject.status == 200) {
var res = ajaxObject.responseText;
alert(res);
}
}
}
//發(fā)送異步請求(Post方式發(fā)送請求在send里面書寫自己要發(fā)送給服務(wù)器的參數(shù))
ajaxObject.send("flag=1&name=" + txtName);
}
</script> 復(fù)制代碼 3、后臺頁面ResponseEnd.aspx.cs對數(shù)據(jù)的處理
var ajaxObject = false;
try {
ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
ajaxObject = false;
}
}
if (!ajaxObject && typeof (XMLHttpRequest) != 'undefinded') {
ajaxObject = new XMLHttpRequest();
}
return ajaxObject;
} 復(fù)制代碼 2、頁面中ajax的使用 <script type="text/javascript">
var ajaxObject;
window.onload = function () {
ajaxObject = createAjax();
getControl("btnOK").onclick = submitData1;
}
function submitData1() {
var txtName = getControl("txtName").value;
//以Post方式請求發(fā)送請求
ajaxObject.open("POST", "ResponseEnd.aspx", true);
//以Post方式發(fā)送異步請求需要設(shè)置請求頭
ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxObject.onreadystatechange = function () {
if (ajaxObject.readyState == 4) {
//狀態(tài)200表示異步對象已經(jīng)完全接收完服務(wù)器響應(yīng)的數(shù)據(jù)
if (ajaxObject.status == 200) {
var res = ajaxObject.responseText;
alert(res);
}
}
}
//發(fā)送異步請求(Post方式發(fā)送請求在send里面書寫自己要發(fā)送給服務(wù)器的參數(shù))
ajaxObject.send("flag=1&name=" + txtName);
}
</script> 復(fù)制代碼 3、后臺頁面ResponseEnd.aspx.cs對數(shù)據(jù)的處理
| using?System; using?System.Collections.Generic; using?System.Linq; using?System.Web; using?System.Web.UI; using?System.Web.UI.WebControls; ?? namespace?Web { ????public?partial?class?ResponseEnd : System.Web.UI.Page ????{ ????????protected?void?Page_Load(object?sender, EventArgs e) ????????{ ????????????if?(!string.IsNullOrEmpty(Request["flag"])) ????????????{ ?? ????????????????ShuChu(); ????????????} ????????} ????????private?void?ShuChu() ????????{ ????????????#region 方法一 ????????????//try ????????????//{ ????????????//??? string name = Request["name"]; ????????????//??? Response.Write(name); ????????????//} ????????????//catch (Exception ex) ????????????//{ ????????????//??? throw new Exception(ex.Message); ????????????//} ????????????//finally ????????????//{ ????????????//??? Response.End(); ????????????//}? ????????????#endregion ?? ????????????#region 方法二 ????????????//try ????????????//{ ????????????//??? string name = Request["name"]; ????????????//??? Response.Write(name); ????????????//??? this.Page.Visible = false; ????????????//??? Context.ApplicationInstance.CompleteRequest(); ????????????//} ????????????//catch (Exception ex) ????????????//{ ????????????//??? throw new Exception(ex.Message); ????????????//}? ????????????#endregion ?? ????????????try ????????????{ ????????????????string?name = Request["name"]; ????????????????Response.Write(name); ????????????????Response.End(); ????????????} ????????????catch?(System.Threading.ThreadAbortException ex) ????????????{ ????????????} ????????????catch?(Exception ex) ????????????{ ????????????????throw?new?Exception(ex.Message); ????????????}? ????????} ????} } |
轉(zhuǎn)載于:https://www.cnblogs.com/liangxiaofeng/p/5642761.html
總結(jié)
以上是生活随笔為你收集整理的WebForm页面使用Ajax的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统编程6:入门篇之如何拿下g
- 下一篇: 校外分散实习(1)