ajax 是什么?有什么作用?
AJAX即Asynchronous Javascript And XML(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?
前后端开发联调需要注意以下事情:
约定数据:约定好页面需要的数据和数据类型
约定接口:约定接口的名称、请求的参数、相应的格式(成功或失败分别返回什么)
将约定好的内容整理成接口文档和规范
后端接口完成前如何 mock 数据?
1.可以使用server-mock或mock.js搭建模拟服务器,进行模拟测试
2.mock.js的github仓库
3.server-mock的github仓库
4.使用XAMPP等工具,编写PHP文件来进行测试
点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
用添加状态锁的方法,在第一次请求的数据未到来之前,用户的点击失效,不会请求数据。
var isDataOk = true;
addEventLintener('click',function(){
if(!isDataOk){
return;
} //若数据未到来则退出函数
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
if((xhr.status === 200||xhr.status ===304)){
}
}
}
isDataOk = true; //数当状态变为4时,表示数据到来
xhr.open();
xhr.send();
isDataOk = false; //在数据发送完成之后,表示数据还未到来,点击无效
})
封装一个 ajax 函数,能通过如下方式调用。后端在本地使用server-mock来 mock 数据
function ajax(options){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
if(xhr.status === 200 || xhr.status ===304){
var result = JSON.parse(xhr.responseText)
options.success(result)
}
else{
options.error()
}
}
dataIsOk = true;
}
var query = '?'
for(key in options.data){
query += key + '=' + options.data[key] + '&'
}
query = query.substr(0,query.length-1)
var url = options.url +query
xhr.open(options.type,url,true)
xhr.send()
dataIsOk = false;
}
实现加载更多的功能,后端在本地使用server-mock来模拟数据
代码如下:
https://github.com/wzanbaichi/loadmore/blob/master/index.html