题目1: ajax 是什么?有什么作用?
Ajax是Asynchronous JavaScript and XML的缩写,翻译过来就是异步的JavaScript跟XML。Ajax可以让JavaScript发送网络请求,在不刷新网页的情况下加载新的内容。带来更好的用户体验。缺点是无法跨域,加载完成后无法通过浏览器返回按钮返回上一个状态。
题目2: 前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?
注意
约定传输的数据,数据格式,类型。
约定接口,请求格式、响应格式等。mock数据
在确定了数据类型跟格式的情况下可以使用node.js自己搭建一个虚拟服务器,模拟一个约定格式的假数据,来测试数据是否能够正常获取。
常用server-mock或xampp来模拟。
题目3:点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
引入一个状态变量,表示数据是否返回,在初始时为true,请求发送后数据返回前变为false,数据返回后再变为true。只有在变量为true时才执行Ajax代码。
var isDataArrive = ture;
if(!isDataArrive){
return;
}//当变量为false时表示数据未返回,不执行以下Ajax代码。
var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function(){
//Ajax代码........
}
isDataArrive = true//Ajax代码执行完毕后将其改变为true以便接受让按钮接受下一次点击
xhr.open()
xhr.send()
isDataArrive = false//请求发送后将其改变为false以便在数据到来之前使下一次点击不执行Ajax代码
题目4:实现加载更多的功能,后端在本地使用server-mock来模拟数据。
代码链接