[ AJAX的认识与创建过程 ]

目录

一、认识ajax

1.AJAX 基于开放的标准

2.XMLHttpRequest 对象的三个常用的属性

1. onreadystatechange 属性

2. readyState 属性

3. responseText 属性

3.XMLHttpRequest 对象的方法

1.open():

2.send():

 二.原生AJAX创建的过程

 1.创建xhr核心对象

2.调用open准备发送

3.如果是post请求,必须设置请求头

4.调用send发送请求(如果不需要参数,就写null)

5.监听异步回调 onreadystatechange


一、认识ajax

AJAX 是 Asyn JavaScript And XML(异步JavaScript 和 XML) 的首字母缩写。

AJAX 并不是一种新的编程语言,而是一种使用现有标准的新方法,AJAX是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的艺术

AJAX 的核心是 XMLHttpRequest 对象

1.AJAX 基于开放的标准

  • JavaScript
  • XML
  • HTML
  • CSS

2.XMLHttpRequest 对象的三个常用的属性

1. onreadystatechange 属性

onreadystatechange 属性存有处理服务器响应的函数。

xmlHttp.onreadystatechange = function() {
    //需要写的代码
}

2. readyState 属性

readyState 属性存有服务器响应的状态信息。

readyState属性有五个状态值。

0:是uninitialized,未初始化。已经创建了XMLHttpRequest对象但是未初始化。
1:是loading,send for request but not called .已经开始准备好要发送了。
2:是loaded, send called,headers and status are available。已经发送,但是还没有收到响应。
3:是interactive,downloading response,but responseText only partial set.正在接受响应,但是还不完整。
4:是completed,finish downloading.接受响应完毕。

在 onreadystatechange 函数里 可以使用if来测试响应是否完成

xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4) {
        //从服务器的response获得数据
    }
}

3. responseText 属性

可以通过 responseText 属性来取回由服务器返回的数据。

xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4) {
        document.myForm.time.val = xmlHttp.responseText;
    }
}

3.XMLHttpRequest 对象的方法

1.open()

打开XMLHttpRequest对象。有三个参数:

method 方法有get,post,delete,put。如果查数据,从服务器中得到数据,使用get。如果直接提交到服务器中,更新数据,则使用post;

url 是请求资源的地址。

boolean 表示是否使用异步。默认情况是true,因为ajax的特点就是异步传送。若使用同步则false。

xmlHttp.open("GET","url",true);

2.send()

将请求发往服务器。其中发送的内容可以是需要的参数,若是没有参数,直接send(null)

xmlHttp.send(null);

 二.原生AJAX创建的过程

 1.创建xhr核心对象

var xhr=new XMLHttpRequest();

2.调用open准备发送

参数一:请求方式

参数二:请求地址

参数三:true异步,false同步 

xhr.open('post','http://www.baidu.com/api/search',true)

3.如果是post请求,必须设置请求头

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')

4.调用send发送请求(如果不需要参数,就写null)

xhr.send('user=tom&age=10&sex=女')

5.监听异步回调 onreadystatechange

判断readyState 为4 表示请求完成

判断readyStatus 状态码 为 200 表示接口请求成功

responeseText 为相应数据。字符串类型。

xhr.onreadystatechange=function(){

         if(xhr.readyState==4){

                  if(xhr.status==200){

              console.log(xhr.responseText);

              var res=JSON.parse(xhr.responseText);

              console.log(res);

              if(res.code==1){

                modal.modal('hide');

                location.reload();

              }

            }

          }

备注:如果是post请求,想要传json格式数据。

1.设置请求头

xhr.setRequestHeader('Content-Type', 'application/json')

2.open发送数据

xhr.open({_id:xxx,user:xxxx,age:xxxx})

上一篇:SpringMVC07:Ajax研究


下一篇:jquery AJAX