码迷,mamicode.com
首页 > Web开发 > 详细

ajax

时间:2019-09-09 14:45:00      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:src   set   amp   ready   函数   ISE   open   mis   ade   

var xhr = new XMLHTTPRequest() 先实例化一个对象

xhr.open() 配置 有三个参数 1.get/post 2.地址 3.async 异步:true 同步:false默认情况下为异步请求

xhr.send() 发送数据

xhr.onreadyStateChange=function(){ 监听

     if(readstate==4&&status==200){  

         如果状态为4 同时 http状态值为200的话  就返回数据

         var data = responseText  数据形式有json,text

     }

}

 如果要设置请求头的话使用xhr.setRequestHeader()

 

readstate有四个状态值:

0:请求初始化   没有调用open()方法

1:服务器已经建立  已经调用open()但是没有调用send()

2:请求已经接收   已经调用send()但是未响应

3:请求处理中  已经接收到部分响应数据

4:请求已完成  已经得到全部响应数据并可使用

 

get和post的区别:

get安全性比post低 因为get的url是可见的,会泄露信息

get是在服务器上获取资源,post给服务器发送数据

get传输数据小 可以用来缓存数据 post传输数据大

 

同步异步的区别:

同步:代码一行一行执行,前面的代码没有执行完,后面的代码就不会被执行(容易导致代码阻塞)

异步:当前代码没有执行完,也可以执行下面的代码(代码不易理解)

异步方案:promise

 

什么是promise?

promise是一个对象,对象和函数的区别就是对象可以保存状态,函数不可以(闭包除外)

并未剥夺函数return的能力,因此无需层层传递callback,进行回调获取数据

代码风格,容易理解,便于维护

多个异步等待合并便于解决

 

技术图片

 

ajax

标签:src   set   amp   ready   函数   ISE   open   mis   ade   

原文地址:https://www.cnblogs.com/2019yjy/p/11491344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!