Ajax学习笔记(1)

(一)Ajax优缺点

优点:

1、不需要插件支持

2、不刷新页面就可获取可更新的数据

3、传递数据时按需发送

4、将服务器的一些操作转移到客户端

缺点

1、前进后退功能被破坏

2、搜索引擎的支持度不够

3、存在跨域问题

(二)常见状态码

1.100~199:表示连接继续

2.200~299:表示各种意义上的成功

3.300~399:表示重定向

4.400~499:表示各种客户端错误

5.500~599:表示各种服务端错误

(三)Ajax实现过程

1.准备页面请求,创建XMLHttpRequest对象(Ajax的核心)

2.使用XMLHttpRequest对象的open()和send()方法发送资源请求给服务器

3.onreadystatechange函数(准备状态改变事件),状态一改变就发送数据给客户端,使用XMLHttpRequest对象的reponseText或responseXML属性获得服务器的响应(即响应的值做局部刷新)

(四)get与post请求

//get请求: 
function sending() {
            //(一). 创建一个XMLHttprequest对象  
            var xhr = new XMLHttpRequest();
            //(二)调用open()方法打开连接
            //open()方法有三个参数
            //1.请求的method
            //2.请求的url
            //3.是否异步,默认值是true
            xhr.open('get', './01.php?id=1');
            //发送请求
            xhr.send();
            //(三).添加监听状态事件
            xhr.onreadystatechange = function () {
                //判断状态值 0-4五种状态 4代表最终的完成
                if (xhr.readyState === 4) {
                    //判断状态码
                    if (xhr.status === 200) {
                        var resp = JSON.parse(xhr.responseText);
                        console.log(resp);
                    }
                }
            }
        }

 

//post请求
 function sendmsg() {
            var xhr = new XMLHttpRequest()
            xhr.open('post', './data.php')
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
            xhr.send('name=zhangsan&age=18')
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4) {
                    if (xhr.status === 200) {
                        var res = JSON.parse(xhr.responseText)
                        console.log(res);
                    }
                }
            }
        }

(五)get与post区别

getpost
大小限制(4k左右)无限制
参数放在请求头里参数放在请求体
明文传输相对安全

  Ajax常见面试题---总结 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值