1.ajax 是什么?有什么作用?
ajax(Asynchronous JavaScript and XML)指的是异步的 JavaScript 和 XML,是一种无须刷新整个页面就能为页面中的某一部分加载数据的技术。数据通常以JSON的格式来进行传送,是一种创建快速动态网页的技术。
作用是通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2.前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?(npm install -g server-mock)
- 注意的是:
1.约定前后端联调的时间;
2.约定双方需要传输的数据和接口,在接口文档中确定好参数的名称、格式等;
3.约定请求和响应的格式和内容。 - 后端接口完成前 mock 数据:
1.自己模拟数据来进行MOCK;
2.使用server-mock或mock.js搭建模拟服务器,进行模拟测试;
3.使用XAMPP等工具,编写PHP文件来进行测试。
3.点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
可以通过设置状态锁的方法来防止重复点击
var isLoading = false
btn.addEventListener('click',function(){
if(isLoading){
return;
} else{
isloading = true;
//to do....
isloading = false;
}
},false)
4.封装一个 ajax 函数,能通过如下方式调用
function ajax(objs){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
console.log(xhr.responseText);
}
if(xhr.readyState == 4 && xhr.status == 404){
console.log("Error!");
}
}
var dataSend = "";
for(var key in objs.data){
dataSend += key + "=" + objs.data[key] + "&";
}
dataSend = dataSend.substr(0,dataSend.length-1);
if(objs.type.toLowerCase() == "get"){
xhr.open("GET", objs.url + dataSend, false);
xhr.send();
}
if(objs.type.toLowerCase() == "post"){
xhr.open("POST", objs.url, false);
xhr.setRequsetHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(dataSend);
}
}