Ajax总结

今天封装了一个简单的ajax。所以顺便总结一下。

#######ajax概念

  • ajax:Asynchronous JavaScript and XML。异步的JavaScript和XML
  • 作用:实现网页的异步加载,局部刷新网页。当在向服务器获取新数据时不需要刷新整个网页,提高用户体验。
  • 优点:
    (1)更新数据而不需要刷新页面: 它能在不刷新整个页面的前提下与服务器通信维护数据,由于ajax是按照需求请求数据,避免发送那些没有改变的数据
    (2)异步通信: 它与服务器使用异步的方式通信,不会打断用户的操作(卡死页面)
    (3)前后端负载平衡: 可以将后端服务器的一些工作转移给客户端,利用客户端限制的能力来处理,减轻了服务器的负担
    (4)数据与呈现分离: 利于分工,降低前后耦合
  • 缺点
    (1)浏览器历史记录的遗失: 在使用AJAX对页面进行改变后,由于并没有刷新页面,没有改变页面的访问历史,当用户想要回到上一个状态时,无法使用浏览器提供的后退
    (2)AJAX的安全问题: AJAX的出现就像建立起了一直通服务器的另一条通道,容易遭受到一些攻击

ajax封装

可以满足基本的需求。后面根据使用情况会一点点更新。

function ajax(opts){
var xhr = new XMLHttpRequest();
var data = '';
for(var key in opts.data){
    data += key + "=" + opts.data[key] + "&";
}
data = data.substring(0,data.length-1);
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status == 200){
            var result = JSON.parse(xhr.responseText);
            opts.success(result);    
        }else{
            opts.error();
        }
    }
}
if(opts.type == "get"){
    xhr.open("get",opts.url+"?"+data,true);   
    xhr.send();
}
if(opts.type == "post"){
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    xhr.open("post",opts.url,true);   
    xhr.send(data);
}
}

调用格式
  ajax({
    url: '/login',   //接口地址
    type: 'get',               // 类型, post 或者 get,
    data: {
        username: 'xiaoming',
        password: 'abcd1234'
    },
    success: function(ret){
        console.log(ret);       // {status: 0}
    },
    error: function(){
       console.log('出错了')
    }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文出处 http://blog.poetries.top/2016/11/26/Ajax-summary 关注公...
    前端进阶之旅阅读 11,698评论 3 110
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,241评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,281评论 19 139
  • 这题目有点怪?怎么联想起来?农夫山泉的泉水很好听,就像大自然开了露天KTV?很扯,这两件事跟没见识有关。 那天坐公...
    陈隋阅读 2,750评论 0 1
  • 最近一直在训练鸣鸣正确表达需求的方式。晚上他在地上玩儿小汽车,我和姐姐坐在沙发上,两次他都嫌我俩的脚挡他的路了。第...
    鸽子1007阅读 1,747评论 0 0

友情链接更多精彩内容