欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【ASP.net】Ajax介绍

程序员文章站 2022-06-03 12:10:21
...

什么是Ajax

AJAX:(Asynchronous JavaScript and XML)中文意思:异步JavaScript和XML。指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,不是指一种单一的技术,而是有机地利用了一系列相关的技术:
JavaScript + XMLHttpRequest + CSS +服务器端 的集合:

  • web标准( Standards-Based Presentation )XHTML+CSS的表示,
  • 使用 DOM( Document Object Model )进行动态显示及交互,
  • 使用 XML 和 XSLT 进行数据交换及相关操作,
  • 使用 XMLHttpRequest 进行异步数据查询、检索
    Ajax 技术提供了一种新的前后端数据交互方式,不需要刷新页面,而且不阻塞页面执行流程,异步的去请求去获取、交互数据。

Ajax采用异步方式与后台交互

【ASP.net】Ajax介绍
AJAX核心对象是XMLHttpRequest,使用该对象实现的异步,不用每次刷新界面。
使用XMLHttpRequest异步条用后台服务的基本步骤:

  • 初始化XMLHttpRequest对象
  • 指定响应处理函数
  • 发出HTTP请求
  • 处理服务器返回信息
初始化XMLHttpRequest,不同浏览器构建方式不同,在发送请求需要调用XMLHttpRequest的open方法打开链接,通过send方法发送请求,
请求发送后,浏览器会根据请求或响应的状态调用XMLHttpRequest的回调方法,状态信息保存在XMLHttpRequest对象的readyState属性
中。当readyState值为4时表示服务器响应完成,值为200时表示页面正常可以处理。例:

 <script type="text/javascript">
        $(function () {
            $("#btnGetDate").click(function () {
                //开始通过AJAX向服务器发送请求.
                var xhr;
                if (XMLHttpRequest) {//表示用户使用的高版本IE,谷歌,狐火等浏览器
                    xhr = new XMLHttpRequest();
                } else {// 低IE
                   xhr=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xhr.open("get", "GetDate.ashx?name=zhangsan&age=12", true);
                xhr.send();//开始发送
                //回调函数:当服务器将数据返回给浏览器后,自动调用该方法。
                xhr.onreadystatechange = function () {
                    if (xhr.readyState == 4) {//表示服务端已经将数据完整返回,并且浏览器全部接受完毕。
                        if (xhr.status == 200) {//判断响应状态码是否为200.

                            alert(xhr.responseText);

                        }
                    }
                }
            });
        });
    </script>

Jquery下使用AJAX

向服务器发送get、post、Ajax(get/post)请求三种方式:
get方式:
格式:jQuery.get(url, [data], [callback], [type])

 $(function () {
            $("#btnGet").click(function(){
                $.get("GetDate.ashx", { "name": "lisi", "pwd": "123" }, function (data) {
                    alert(data)
                });
            });

post方式:
格式:jQuery.post(url, [data], [callback], [type]),跟get一样

  $("#btnPost").click(function () {
                $.post("ShowDate.aspx", { "name": "lisi", "pwd": "123" }, function (data) {
                    alert(data)
                })
            });

ajax方式:
type:设置请求方式是get/post
url:设置请求路径
data:请求参数
success:成功调回
error:错误调回

 $("#btnAjax").click(function () {
                $.ajax({
                    type: "POST"/get,
                    url: "GetDate.ashx",
                    data: "name=John&location=Boston",
                    success: function (msg) {
                        alert("Data Saved: " + msg);
                    },
                    "error":function(){
                    alert("错误");
                    }
                });

            });