AJAX

Posted woz333333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX相关的知识,希望对你有一定的参考价值。

内容:

1.什么是AJAX

2.如何使用AJAX

 

 

 

1.什么是AJAX

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术

AJAX = Asynchronous javascript and XML,意思就是用JavaScript执行异步网络请求

AJAX 是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重载整个页面的情况下,对网页的某些部分进行更新。

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

 

 

2.如何使用AJAX

用JavaScript写一个完整的AJAX代码并不复杂,但是需要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应

在现代浏览器上写AJAX主要依靠XMLHttpRequest对象:

 1 // GET
 2 // 创建 AJAX 对象
 3 var r = new XMLHttpRequest()
 4 // 设置请求方法和请求地址
 5 r.open(‘GET‘, ‘/login‘, true)
 6 // 注册响应函数
 7 r.onreadystatechange = function() {
 8     console.log(‘state change: ‘, r)
 9 }
10 // 发送请求
11 r.send()
12 
13 
14 // POST
15 // 创建 AJAX 对象
16 var r = new XMLHttpRequest()
17 // 设置请求方法和请求地址
18 r.open(‘POST‘, ‘/login‘, true)
19 // 设置发送的数据的格式
20 r.setRequestHeader(‘Content-Type‘, ‘application/json‘)
21 // 注册响应函数
22 r.onreadystatechange = function() {
23     if (r.readyState === 4) {
24         console.log(‘state change: ‘, r, r.status, r.response)
25         // 转换格式
26         var response = JSON.parse(r.response)
27         console.log(‘response‘, response)
28     } else {
29         console.log(‘change‘)
30     }
31 }
32 // 发送请求
33 var account = {
34     username: ‘gua‘,
35     password: ‘123‘,
36 }
37 var data = JSON.stringify(account)
38 r.send(data)

 

当然我们也可以把上述过程封装一下:

1 var ajax = function(method, path, data, responseCallback) {
2     // method是请求方法(GET or POST) path是请求路径 
3     // data是发送的数据(对象类型) responseCallback是响应函数
4 
5 
6 }

 

以上是关于AJAX的主要内容,如果未能解决你的问题,请参考以下文章

Javascript代码片段在drupal中不起作用

前端面试题之手写promise

Ajax 片段元标记 - Googlebot 未读取页面内容

执行AJAX返回HTML片段中的JavaScript脚本

javascript AJAX片段

Spring MVC 3.2 Thymeleaf Ajax 片段