WebForm頁面使用Ajax

來源:互聯網
上載者:User

標籤:

AJAX:”Asynchronous JavaScript and XML”  中文意思:非同步JavaScript和XML。指一種建立 互動式網頁應用的網頁開發技術。AJAX並非縮寫詞,而是由Jesse James Gaiiett創造的名詞。   AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術:  1、web標準( Standards-Based Presentation )XHTML+CSS的表示;  2、使用 DOM( Document Object Model )進行動態顯示及互動;  3、使用 XML 和 XSLT 進行資料交換及相關操作,使用 XMLHttpRequest 進行非同步資料查詢、檢索.   簡單理解為:JavaScript + XMLHttpRequest + CSS +伺服器端 的集合.廢話少說,下面直接上代碼(這裡我唯寫以Post方式發送請求的代碼,關於JQuery中使用ajax跟以Get方式發送請求,我就不寫了),在下面的代碼中,我會從建立非同步對象,到在WebForm頁面中使用非同步對象來說說我的體會。 1、用js建立相容瀏覽器的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;
}
複製代碼 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方式請求發送請求
ajaxObject.open("POST", "ResponseEnd.aspx", true);
//以Post方式發送非同步請求需要佈建要求頭
ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxObject.onreadystatechange = function () {
if (ajaxObject.readyState == 4) {
//狀態200表示非同步對象已經完全接收完伺服器響應的資料
if (ajaxObject.status == 200) {
var res = ajaxObject.responseText;
alert(res);
}
}
}
//發送非同步請求(Post方式發送請求在send裡面書寫自己要發送給伺服器的參數)
ajaxObject.send("flag=1&name=" + txtName);
}
</script>
複製代碼3、後台頁面ResponseEnd.aspx.cs對資料的處理
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);                     }     } }

WebForm頁面使用Ajax

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.