AJAX学习-----基础

前端之家收集整理的这篇文章主要介绍了AJAX学习-----基础前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

介绍:

AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面

有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。


  1. </pre><pre name="code" class="html"><html>
  2. <head>
  3. <script type="text/javascript">
  4. function loadXMLDoc()
  5. {
  6. .... AJAX script goes here ...
  7. }
  8. </script>
  9. </head>
  10.  
  11. <body>
  12.  
  13. <div id="myDiv"><h3>Let AJAX change this text</h3></div>
  14. <button type="button" onclick="loadXMLDoc()">Change Content</button>
  15.  
  16. </body>
  17. </html>

XMLHttpRequest 是 AJAX 的基础。

XMLHttpRequest 对象

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。


创建 XMLHttpRequest 对象的语法:

  1. variable=new XMLHttpRequest();



XMLHttpRequest 对象用于和服务器交换数据。

向服务器发送请求

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法

  1. xmlhttp.open("GET","test1.txt",true);
  2. xmlhttp.send();
方法 描述
open(method,url,async)

规定请求的类型、URL 以及是否异步处理请求。

  • method:请求的类型;GET 或 POST
  • url文件在服务器上的位置
  • async:true(异步)或 false(同步)
send(string)

将请求发送到服务器。

  • string:仅用于 POST 请求

GET 请求

一个简单的 GET 请求:

  1. 在上面的例子中,您可能得到的是缓存的结果。

  2. 为了避免这种情况,请向 URL 添加一个唯一的 ID

  3.  如果您希望通过 GET 方法发送信息,请向 URL 添加信息:

  4.  

  5. POST 请求

  6. 一个简单 POST 请求:

  7. xmlhttp.open("POST","demo_post.asp",true);
  8. xmlhttp.send();
  9. 如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:

  10.  
  11.   
  12.    
  13.     
  14.      
    描述
  15.     
  16.     
  17.      
    setRequestHeader(header,value)
  18.     

    向请求添加 HTTP 头。

    • value: 规定头的值
  19.  
  20.     
  21.    
  22.  
  23.  
  24. url - 服务器上的文件

  25. open() 方法url参数是服务器上文件的地址:

  26.  文件可以是任何类型的文件,比如 .txt  .xml,或者服务器脚本文件,比如 .asp  .PHP (在传回响应之前,能够在服务器上执行任务)。

  27.  
  28. 异步 - True False

  29. AJAX 指的是异步 JavaScript XMLAsynchronous JavaScript and XML)。

  30. XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法 async 参数必须设置为 true

  31.  对于 web 开发人员来说,发送异步请求是一个巨大的进步。很多在服务器执行的任务都相当费时。AJAX 出现之前,这可能会引起应用程序挂起或停止。

  32.  

    通过 AJAXJavaScript 无需等待服务器的响应,而是:

  33.  
    • 在等待服务器响应时执行其他脚本
    • 当响应就绪后对响应进行处理
  34.  
  35. Async = true

  36. 当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数

  37. xmlhttp.onreadystatechange=function()
  38.   {
  39.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  40.     {
  41.     document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  42.     }
  43.   }
  44. xmlhttp.open("GET",true);
  45. xmlhttp.send();
  46.  
  47. Async = false

  48. 如需使用 async=false,请将 open() 方法中的第三个参数改为 false

  49.  我们不推荐使用 async=false,但是对于一些小型的请求,也是可以的。

  50.  

    请记住,JavaScript 会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会挂起或停止。

  51.  

    注释:当您使用 async=false 时,请不要编写 onreadystatechange 函数 - 代码放到 send() 语句后面即可:

  52.  
     

猜你在找的Ajax相关文章