Ajax_13|封装

Posted 接引之书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax_13|封装相关的知识,希望对你有一定的参考价值。


Ajax_13|封装


    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="Utf-8" />
        <title>ajax封装</title>

        <script type="text/javascript">

            /*
            如果想改成动态,那么参数就全部要改,最好办法是直接定义成对象
            */

            window.onload = function(){   

                ajax({
                    url:'http://localhost:8081/ajax/test.json',
                    method:'get',
                    data:"name=clyun",
                    success:function(data){
                        console.log(data);
                    }
                });

                function ajax(args){

                    var defaulArg = {   //设置默认值,如果外部不定义就用这里面定义的
                        method:'get',   //请求方法
                        asyns:true,     //是否异步
                        beforeSend:function(){

                        },
                        success:function(data){
                            console.log(typeof data);
                        },
                        error:function(status){
                            console.log(status);
                        }
                    }
                    //如果外边定义有值,就覆盖这默认值,(用深拷贝方法)
                    for(var key in args){
                        defaulArg[key] = args[key];    //因为这里没有纯对象的内容,就没有用递归方法
                    }


                    var xhr = new XMLHttpRequest();
                    xhr.open(defaulArg.method,defaulArg.url,defaulArg.asyns); 
                    defaulArg.beforeSend(xhr);

                    //判断是什么请求
                    //如果传过来的是空 && 或者等于post,就用默认值
                    if(defaulArg.data && defaulArg.method.toUpperCase() === 'POST'){   //toUpperCase() :转成大写
                         xhr.send(defaulArg.data); 
                    }else{
                        xhr.send(); 
                    }

                    xhr.onload = function(){
                        defaulArg.success(xhr.response);
                    }
                    xhr.onerror = function(){
                        defaulArg.error(xhr.status);
                    }
                }
            }
        
</script>
    </head>
    <body>

    </body>
    </html>



浏览器:


Ajax_13|封装



目录大纲

以上是关于Ajax_13|封装的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

懒人封装(懒惰模式)