Ajax入门(二)

一、Ajax概述(前端中局部会用,用户名的验证什么的)

我们只希望获取页面的局部数据,而不是整页刷新,这个时候就需要用ajax来实现功能了(不刷新页面与后台交互数据)。

ajax能实现按需加载而不是整页刷新。

(点击获取数据的按钮时,通过局部按需加载方式,向后台发送请求,后台返回一个字符串。这种效果就是ajax实现的)

目前主流的数据格式是json(JavaScript对象表示法)

ajax的优缺点:

优点:按需获取数据,提升系统性能。(要什么拿什么)

缺点:异步获取数据,不利于搜索引擎优化。

二、Ajax原理

我们之前是如何向服务器发送请求的?

1.在浏览器中直接输入网址。

2.a标签实现的页面跳转。

3.表单提交。

4.postman模拟http请求。

Ajax的原理是通过XMLhttpRequest对象向服务器发送请求。

后台程序:

router.get('/', async (ctx) => {

    await ctx.render('index')  //响应模板

})

router.get('/data', async (ctx) => {

    await ctx.render('hello') //响应数据

index.html中点击按钮之后向服务器发送请求,获取hello数据。

let xhr = new XMLhttpRequest();

xhr.open('get','/data')    //open方法可以用来规定请求的类型。

xhr.send();                    //发送请求

获取响应:(下面的事件)//(可以监听一个属性readystate,如果这个属性readystate变化,就会触发这个事件,readystate的值可以理解为是数字,0:请求未初始化,1:服务器连接已建立,2:请求已接收,3:请求处理中,4:请求已完成,且响应已就绪)

xhr.onreadystatechange = function(){

if(xhr.readystate === 4 && xhr.status ==200){

alert(xhr.responseText)

}

}

用回调函数的方式,promise可以实现异步获取数据,ajax函数的封装next()

了解XML以上的概念就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值