1、 ajax 是什么?有什么作用?
ajax(Asynchronous JavaScript and XML 异步的JavaScript与XML技术)通过在后台与服务器进行少量数据交换,可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
具体流程:
创建AJAX对象
发出HTTP请求
接受服务器传回的数据
更新网页数据
2、 前后端开发联调需要注意事项
- 约定数据:有哪些需要传输的数据,数据类型是什么
- 约定接口:确定接口名称及请求和响应的格式,请求的参数名称、响应的数据格式
- 根据这些约定整理成接口文档
举例
{
"status":0,
"data":["新闻0","新闻1","新闻2","新闻3","新闻4"]
}
3、后端接口完成前如何 mock 数据
- 可以根据接口文档,使用假数据来验证我们制作的页面响应和接口是否正常。
- 可以搭建php本地服务器用,php写脚本提供临时数据
- 可使用Mock.js,它能拦截ajax请求并根据请求中的内容来随机生成符合你要求的假数据,模拟后端环境让你完成对页面和接口的测试。
4、点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
var ajaxLock = true //1.设置一个状态锁,默认状态不会被return
button.addEventListener('click',function(){
if(!ajaxLock){
return //服务器还未返回数据,锁未打开点击无效直接return
}
ajax({
...
ajaxLock = true //3.得到数据后,恢复状态,可以继续点击发送请求
})
ajaxLock = false //2.请求发送完成,在数据到来之前设为false,会被上面的验证直接return
})
5、你真的会使用XMLHttpRequest吗?
ajax是一种技术方案,但并不是一种新技术。它依赖的是现有的CSS/HTML/Javascript,而其中最核心的依赖是浏览器提供的XMLHttpRequest对象,是这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。
用一句话来总结两者的关系:我们使用XMLHttpRequest对象来发送一个Ajax请求
xhr提供了3个属性来获取请求返回的数据,分别是:xhr.response、xhr.responseText、xhr.responseXML