前端开发专题AJAXAjax

Ajax实践

2017-09-13  本文已影响43人  YM雨蒙

在了解ajax之前,我们先粗略的了解一下http协议

HTTP协议

http事务

请求报文格式

格式

响应报文格式

方法 描述 是否包含主体
GET 从服务器获取一份文档
POST 向服务器发送需要处理的数据
PUT 将请求的主体部分存储在服务器上
DELETE 从服务器删除一份文档
响应格式
常用HTTP方法
方法 描述 是否包含主体
GET 从服务器获取一份文档
POST 向服务器发送需要处理的数据
PUT 将请求的主体部分存储在服务器上
DELETE 从服务器删除一份文档

URL构成

url

常见http状态码

状态码

ajax 是什么?有什么作用?

优点:

缺点:

一个ajax调用示例

ajax API

xhr.open('method',url[,async = true])

参数:
method:  //  GET/POST/DELETE/HEAD...
url:  // 我要请求的资源相对当前文档的路径
默认为true异步求情  :  //false同步
xhr.setRequestHeader(header,value)
参数:
header:  //Content-type
xhr.send([data = null])

我们注意到前面的url都是相对当前文档的相对路径,是受ajax的同源策略影响的

两个页面拥有相同的协议(protocol),端口(port),主机(host),那么这两个页面你属于同一个源(origin)

可参考:跨域Frame代理


前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?

  1. 前后端联调是一种 真实业务数据和 本地mock数据之间来回切换以达到前后端分离架构下的不同开发速度时数据交换的一种方式方法,需要注意
  1. mock数据

点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?

//弄一个状态锁
var AjaxLock = false;
//事件触发下面代码
// ******start*****
if (!AjaxLock){
    AjaxLock = true;
    xhr.onreadystatechange = function(){
        if( xhr.readyState == 4) {
            //do sth
            AjaxLock = false; 
            //当接受完毕请求数据后将锁打开
        }
    }
    //ajax配置
    xhr.send();
} else {
    return;
}

题目4:实现加载更多的功能,效果范例415后端在本地使用server-mock来模拟数据

加载更多

代码预览,需要开启mock-server数据

上一篇 下一篇

猜你喜欢

热点阅读