ajax 未完

问答


1.ajax 是什么?有什么作用?

ajax即“Asynchronous Javascript And XML”( 异步 JavaScript和XML),AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。它是一套综合了多项技术的浏览器端网页开发技术。这些技术包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest.

通过在浏览器与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的局部更新

2.前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?

需要注意的事情

  • 约定前后端联调的事件。
  • 约定双方需要传输的数据和接口,在接口问盎中确定好参数的名称、格式等。
  • 约定请求和响应的格式和内容。

MOCK数据段方法

  • 使用server-mock 或者 mock.js搭建模拟服务器,进行模拟测试;
  • 使用XAMMPP等工具,编写PHP文件来进行测试。

3.点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?

var onload = false;                       //设置锁变量;
 document.querySelector(".btn").addEventListener("click",function () {
            if(onload){                  //如果有锁存在,则不执行AJAX;
                return;
            }
            onload = true;               //上锁
            ajax({
                url:"2.php",
                type:"get",
                data:{},
                success:function(ret){
                    // TO DO
                    onload = false;      //解锁
                },
                error:function () {
                  console.log("error.....")
                }
            });
        });

代码


1.封装一个 ajax 函数,能通过如下方式调用

function ajax(opts){

            var xmlhttp=new XMLHttpRequest();
            xmlhttp.onreadystatechange=function(){
                if(xmlhttp.readyState==4 && xmlhttp.status==200){
                    var json = JSON.parse(xmhttp.responseText);
                    opts.success(json);
                }
                if(xmlhttp.status == 404){
                    opts.error();
                }
            }

            var dataStr = '';
            for(var key in opts.data){
                dataStr += key + '=' +opts.data[key] + '&';
            }
            dataStr = dataStr.substr(0,dataStr.length-1);

            if(opts.type.toLowerCase() === 'post'){
                xmlhttp.open(opts.type,opts.url, true);
                xmlhttp.setRequestHeader("Content-type","application/x-www-form-urllencoded");
                xmlhttp.send(dataStr);
            }
            if(opts.type.toLowerCase() === 'get'){
                xmlhttp.open(opts.type, opts.url + '?' +dataStr, true);
                xmlhttp.send();
            }
        }
document.querySelector('#btn').addEventListener('click', function(){
    ajax({
        url: 'getData.php',   //接口地址
        type: 'get',               // 类型, post 或者 get,
        data: {
            username: 'xiaoming',
            password: 'abcd1234'
        },
        success: function(ret){
            console.log(ret);       // {status: 0}
        },
        error: function(){
           console.log('出错了')
        }
    })
});

2.实现如下加载更多的功能。效果如下: 加载更多的功能
3.实现注册表单验证功能效果如下:注册表单验证功能


              本文版权归作者饥人谷_Josh和饥人谷所有,转载请注明来源

你可能感兴趣的:(ajax 未完)