1. ajax 是什么?有什么作用?
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
ajax可以实现在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求)从服务器获取数据。这里的异步是指脱离当前浏览器页面的请求、加载等单独执行,这意味着可以在不重新加载整个网页的情况下,通过JavaScript发送请求、接受服务器传来的数据,然后操作DOM将新数据对网页的某部分进行更新,使用Ajax最直观的感受是向服务器获取新数据不需要刷新页面等待了
2. 前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?
前后端分离,开发人员专注自己的技术和业务知识,但产品最终要上线,最终是要合在一起的,要保证前后端开发的代码能完美的契合,必须进行接口调试。前后端开发联调需要注意的事情:
- 约定数据和数据类型
- 约定接口的名称
- 约定请求的参数
- 约定响应的格式
- 将约定好的内容整理成文档规范
在后端完成接口前前端需要mock数据(也就相当于自己做一个假数据来方便测试),mock数据方法有:使用server -mock搭建模拟服务器,根据需求更改接口范例(优点是不需要熟练掌握后台PHP语言,采用熟悉的js语法);使用xampp搭建本地服务器,编写PHP文件进行测试。
认识前后端联调:http://www.tuicool.com/articles/rQNJRvU
3. 点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
-
使用button的disabled属性,配合setTimeout 0,使在数据到来之前按钮都不能被点击
ele.addEventListener('click',function(){ this.disabled=true; ajax(); setTimeout(this.disabled=false,0); });
-
设置一个开关,初始状态是false,发生点击事件后,开关状态置为true,直到ajax请求完成后,开关状态才会被重新置为false。
var lock = false; ele.addEventListener('click',function(){ if(!lock){ lock = true; ajax(); lock = false; } })