Ajax jquery的库的简化版本

(function(){
    //面向外界的唯一变量接口!
    var myajax = window.myajax = {};
    //作者、版本号等等信息
    myajax.author = "考拉";
    myajax.version = "1.0.0";

//这个对象有两个属性,get、post属性,都是函数
    myajax.get = function(URL,queryJSON,callback){
        //创建xhr对象,解决兼容问题
        if(window.XMLHttpRequest){
            var xhr = new XMLHttpRequest();
        }else{
            var xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //结果返回之后做的事情
        xhr.onreadystatechange = function(){
            if(xhr.readyState == 4){
                if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
                    callback(null,xhr.responseText);
                }else{
                    callback(new Error("没有找到请求的文件"),undefined);
                }
            }
        }
        //拼接字符串
        var querystring = myajax._queryjson2querystring(queryJSON);
        //配置
        xhr.open("get" , URL + "?" + querystring , true);
        //发送
        xhr.send(null);
    };

//这个对象有两个属性,get、post属性,都是函数
    myajax.post = function(URL,queryJSON,callback){
        //创建xhr对象,解决兼容问题
        if(window.XMLHttpRequest){
            var xhr = new window.XMLHttpRequest();
        }else{
            var xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //结果返回之后做的事情
        xhr.onreadystatechange = function(){
            if(xhr.readyState == 4){
                if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
                    callback(null,xhr.responseText);
                }else{
                    callback(new Error("没有找到请求的文件"),undefined);
                }
            }
        }
        //拼接字符串
        var querystring = myajax._queryjson2querystring(queryJSON);
        //配置
        xhr.open("post" , URL , true);
        //发送
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xhr.send(querystring);
    };

//内部函数,查询json变为查询字符串
    //输入一个{"name":"kaola","age":18,"sex":"男"}
    //返回一个name=kaola&age=18&sex=%E8%C6%B6
    myajax._queryjson2querystring = function(json){
        var arr = [];    //结果数组
        for(var k in json){
            arr.push(k + "=" + encodeURIComponent(json[k]));
        }
        return arr.join("&");
    };
})();

Ajax jquery的库的简化版本的更多相关文章

  1. Ajax的js库分析简化版

    Ajax jquery的库的简化版本 (function(){    //面向外界的唯一变量接口!    var myajax = window.myajax = {};    //作者.版本号等等信 ...

  2. HTML5 + AJAX ( jQuery版本 ) 文件上传带进度条

    页面技术:HTML5 + AJAX ( jQuery) 后台技术:Servlet 3.0 服务器:Tomcat 7.0 jQuery版本:1.9.1 Servlet 3.0 代码 package or ...

  3. muduo 网络库的整体架构图和一个简化版本的架构设计

    https://blog.csdn.net/adkada1/article/details/54342275 简析 https://blog.csdn.net/amoscykl/article/det ...

  4. Ajax&jQuery教案总结

    Ajax&jQuery教程总结 目录 第一章 Ajax入门 6 第1讲 传统表单提交存在的问题 6 课程内容 6 1. 问题的引入 6 2. 问题的解决 6 参考进度(0.5课时) 7 第2讲 ...

  5. 11个很棒的 jQuery 图表库

    如果你曾经使用过任何类型的数据,你应该知道阅读一排排数据的痛苦.通过所有这些数据弄清楚他们的意思是非常不容易的.可视化对于解决这个问题起到了重要的作用.可视化降低了数据阅读的难度,帮助决策者获得可操作 ...

  6. python 全栈开发,Day58(bootstrap组件,bootstrap JavaScript 插件,后台模板,图表插件,jQuery插件库,Animate.css,swiper,运行vue项目)

    一.bootstrap组件 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 组件和插件的区别? 插件:一个功能,比如js文件 组件:html css js 组件包含插件 面 ...

  7. jQuery多库共存处理

    jQuery多库共存处理(来自慕课网) 多库共存换句话说可以叫无冲突处理. 总的来说会有2种情况会遇到: 1.$太火热,jQuery采用$作为命名空间,不免会与别的库框架或者插件相冲突. 2.jQue ...

  8. 30+最佳Ajax jQuery的自动完成插件的例子

    在这篇文章中,我们将介绍35个jQuery AJAX的自动完成提示例子. jQuery 的自动完成功能,使用户快速找到并选择一定的价值.每个人都想要快速和即时搜索输入栏位,因为这个原因,许 流行的搜索 ...

  9. MVC中处理表单提交的方式(Ajax+Jquery)

    MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...

随机推荐

  1. Mongodb 副本集 数据同步简单测试

    副本集的搭建,请见  CENTOS6.5 虚拟机MONGODB创建副本集 接下来将简单说明下副本集之间的数据同步. 1.首先,进入primary节点 MOGO_PATH/bin/mongo  -por ...

  2. 9.7 Django

    2018-9-7 14:37:35 这次是 图书  出版社  作者 的连表 2018-9-7 16:56:36

  3. 8.28 jQuery

    2018-8-28 18:25:27 jQuery 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html 2018-8-28 19:53:19 还是讲 ...

  4. ubuntu查看隐藏文件夹

    打开所要查看的文件目录,然后ctrl + h 快捷键可以显示隐藏文件 例如在/home目录下可以看到以下隐藏文件

  5. 把本地项目文件上传到github远程仓库的教程

    参考廖雪峰的git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000  非常详 ...

  6. Numpy基础学习与总结

    Numpy类型学习 1.数组的表示 import numpy as np In [2]: #numpy核心是高维数组,库中的ndarray支持多维数组,同时提供了数值运算,可对向量矩阵进行运算 In ...

  7. java基础解析系列(一)---String、StringBuffer、StringBuilder

    java基础解析系列(一)---String.StringBuffer.StringBuilder 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bu ...

  8. TensorFlow基础1:reduce_sum()函数和reduce_mean()函数

    https://blog.csdn.net/chengshuhao1991/article/details/78545723 在计算损失时,通常会用到reduce_sum()函数来进行求和,但是在使用 ...

  9. flask操作简章

    https://blog.csdn.net/u011054333/article/details/70151857

  10. java获取系统当前服务器IP地址

    public String getServiceIp(){ InetAddress address; String myIp; try { address = InetAddress.getLocal ...