GET 和 POST的区别

GET 和 POST的区别

刚刚学了AJAX,以下只能是我自己的简单认识。

getpost
一般用去请求获取数据一般作为发送数据到后台时使用
其参数在浏览器的地址栏的url中可见,所以隐私性安全性较差,且参数长度也是有限制的传递参数放在Request body中,不会在url中显示,比GET稍稍要安全点,且参数长度无限制
可被缓存不会被缓存
保留在浏览器历史记录中不会保留在浏览器历史记录中
只能进行url编码(application/x-www-form-urlencoded)支持多种编码方式(application/x-www-form-urlencoded (常用)或 multipart/form-data。

将AJAX请求封装到一个函数中的方法如下

<script>
        
    //option 是个对象,里面包含数据有url type success data
        
    function ajax(option) {
            var xhr = new XMLHttpRequest();
            //如果是get并且是有数据
            if (option.type == 'get' && option.data) {
                option.url += '?';
                option.url += option.data;
                option.data = null;

            }
            xhr.open(option.type, option.url);
            //post请求并且有数据
            if (option.type == 'get' && option.data) {
                xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

            }
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    option.success(xhr.responseText);
                    //获取传输数据
                    var type = xhr.getAllResponseHeaders('Content-Type');
                    //如果传输数据为JSON
                    if(type.indexOf('json')!=-1){
                        option.success(JSON.parse(xhr.responseText));
                    }
                    //如果传输数据为XML
                    else if(type.indexOf('xml')!=-1){
                        option.success(JSON.parse(xhr.responseXML));
                    }
                    //啥也不是
                    else {
                        option.success(xhr.responseText);
                    }
                }
            }
            xhr.send(option.data);
        }
    </script>

封装完毕后,只需要引入一个JS文件,就可以调用这个函数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痞子三分冷ゾジ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值