zoukankan      html  css  js  c++  java
  • JavaScript中Ajax的使用

      AJAX全称为“Asynchronous javascript and XML”(异步javascript和XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

      为什么要使用AJAX? AJAX的优势?

    1. AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。
    2. 使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与Web服务器交换数据。
    3. AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
    4. AJAX 可使因特网应用程序更小、更快,更友好。
    5. AJAX 是一种独立于 Web 服务器软件的浏览器技术。 AJAX 基于下列 Web 标准:JavaScript、XML、HTML、CSS在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。
    6. Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
    7. 不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可以变得更完善,更友好。

    Ajax在JavaScript中的使用。

      1. Get方式实现:

     1 <script type="text/javascript">
     2     var xmlHttpRequest;
     3     //创建XHR对象
     4     function createXmlHttpRequest() {
     5         // if(typefo(XMLHttpRequest)!='undifine')
     6         if (window.ActiveXObject) { //如果是IE浏览器    
     7             return new ActiveXObject("Microsoft.XMLHTTP");
     8         } else if (window.XMLHttpRequest) { //非IE浏览器    
     9             return new XMLHttpRequest();
    10         }
    11     }
    12 
    13     //Ajax调用的方法
    14     function AjaxClick() {
    15         var url = "这里是你想要请求的URL,其中包括你的参数(?key1=value1&key2=value2)";
    16         //1.创建XMLHttpRequest组建    
    17         xmlHttpRequest = createXmlHttpRequest();
    18         //2.设置回调函数
    19         xmlHttpRequest.onreadystatechange = ajaxCallBack;
    20         //onreadystatechange。存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
    21         //3.初始化XMLHttpRequest组建    
    22         xmlHttpRequest.open("GET", url, true);
    23 
    24         //open(method,url,async),规定请求的类型、URL 以及是否异步处理请求。
    25         //method:请求的类型;GET 或 POST
    26         //url:文件在服务器上的位置
    27         //async:true(异步)或 false(同步)
    28 
    29         //GET方式请求可以设置浏览器不使用缓存,需加上下面这段
    30         //xhr.setRequestHeader("If-Modified-Since", "0");
    31 
    32         //4.发送请求    
    33         xmlHttpRequest.send(null);
    34     }
    35 
    36     //回调函数    
    37     function ajaxCallBack() {
    38         //readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
    39         //0: 请求未初始化
    40         //1: 服务器连接已建立
    41         //2: 请求已接收
    42         //3: 请求处理中
    43         //4: 请求已完成,且响应已就绪
    44 
    45         //status    请求响应状态码
    46         //200: "OK"
    47         //404: 未找到页面
    48         if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
    49             //表示请求成功,且正常响应
    50 
    51             //responseText    获得字符串形式的响应数据。
    52             //responseXML    获得 XML 形式的响应数据。
    53             var data = xmlHttpRequest.responseText;
    54 
    55             //你具体的代码操作写在这里,如对请求响应的数据如何处理
    56         }
    57     }
    58 </script>
    JavaScript以Get方式实现Ajax

      2. Post方式实现:

     1 <script type="text/javascript">
     2     var xmlHttpRequest;
     3     //创建XHR对象
     4     function createXmlHttpRequest() {
     5         if (window.ActiveXObject) { //如果是IE浏览器    
     6             return new ActiveXObject("Microsoft.XMLHTTP");
     7         } else if (window.XMLHttpRequest) { //非IE浏览器    
     8             return new XMLHttpRequest();
     9         }
    10     }
    11 
    12     //Ajax调用的方法
    13     function AjaxClick() {
    14         var url = "这里是你想要请求的URL,不包括参数";
    15         //1.创建XMLHttpRequest组建    
    16         xmlHttpRequest = createXmlHttpRequest();
    17         //2.设置回调函数
    18         xmlHttpRequest.onreadystatechange = ajaxCallBack;
    19         //3.初始化XMLHttpRequest组建    
    20         xmlHttpRequest.open("POST", url, true);
    21         //4.添加请求头:
    22         xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    23         //5.发送请求,send("这里是你的请求参数")
    24         xmlHttpRequest.send("key1=value1&key2=value2");
    25     }
    26 
    27     //回调函数    
    28     function ajaxCallBack() {
    29         if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
    30             var data = xmlHttpRequest.responseText;
    31 
    32             //你具体的代码操作写在这里,如对请求响应的数据如何处理
    33         }
    34     }
    35 </script>
    JavaScript以Post方式实现Ajax

      如有不足,还希望大牛们指教。谢谢。

  • 相关阅读:
    善待自己的恻隐之心
    FormLayout and FormData
    jquery获取元素索引值index()方法
    Kohana 之ORM文档篇
    css 圆角相框
    Kohana 之 request
    firefox通过XUL实现textoverflow:ellipsis的效果
    jquery 插件开发备注
    Kohana 之ORM实际使用篇
    PHP扩展编写与编译
  • 原文地址:https://www.cnblogs.com/moretry/p/3645575.html
Copyright © 2011-2022 走看看