ajax总结

Ajax

1.定义

指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。

2.Ajax工作原理

在这里插入图片描述

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。

3.Ajax的使用

3.1XMLHttpRequest 的方法:

(1)open() 方法

open() 有三个参数。第一个参数定义发送请求所使用的方法(GET或POST),第二个参数规定服务器端脚本的URL,第三个参数默认是true规定应当对请求进行异步地处理,因此省略。

xhr.open(‘get’,URL,true)

(2)send() 方法

send() 方法将请求送往服务器 。

3.2XMLHttpRequest 的3个常用属性:

(1)onreadystatechange 属性

onreadystatechange 属性存有处理服务器响应的函数。

xhr.onreadystatechange = function(){
            if(xhr.status == 200&&xhr.readyState==4){
                console.log("成功获取数据");
            }
        }

(2)readyState 属性

readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。

readyState 属性可能的值:

状态描述
0请求未初始化(在调用open() 之前)
1请求已提出(调用send() 之前)
2请求已发送(这里通常可以从响应得到内容头部)
3请求处理中(部分数据可用,但服务器未响应完成)
4请求已完成(可以访问服务器并使用它)

(3)通过 response 属性来取回由服务器返回的数据。

xhr.onreadystatechange = function(){
            if(xhr.status == 200&&xhr.readyState==4){
                console.log("成功获取数据");
                //5.处理数据
                var res = xhr.response;
                var h1 = document.createElement('h1')
                h1.innerHTML =res
                document.body.appendChild(m)
            }
        }
3.3 GET和POST的区别

在这里插入图片描述
在这里插入图片描述

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠 。

3.4 Ajax的使用

(1)创建XMLHttpRequest核心对象;

(2)向服务器发送请求

(3)服务器响应处理

4.Ajax的封装

 function getAjax(httpUrl,data,callbackFn){
            //1.创建xhr对象
            var xhr = new XMLHttpRequest()
            //2.设置请求路径
            xhr.open("GET",httpUrl+parseData(data))
            //3.发送数据
            xhr.send()
            //4.监听后台是否返回数据
            xhr.onreadystatechange  = function(){
                if(xhr.status ==200&&xhr.readySdate==4){
                    //5.处理数据
                    callbackFn(xhr)
                }
            }
            function parseData(data){
                var str = "?"
                for (var key in data) {
                    str = str+key+"="+data[key]+"&"
                }
                return str.substr(0,str.length-1)
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值