Ajax

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

你可能感兴趣的:(Ajax)