zoukankan      html  css  js  c++  java
  • WebForm页面使用Ajax

    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);
                
            }
        }
    }
  • 相关阅读:
    ExceptionExtensions
    implicit operator
    javascript Demo
    KO Demo
    Model Binding
    Await Async Task
    STL查找序列中处于某一大小范围内的元素个数
    2017头条笔试题:二维点集中找出右上角没有点的点并按x坐标从小到大打印坐标
    VS2017新建windows控制台程序打印中文乱码问题
    【详解】Linux的文件描述符fd与文件指针FILE*互相转换
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5642761.html
Copyright © 2011-2022 走看看