AJAX知识点总结

原生AJAX

AJAX简介

AJAX是异步的JS和XML;

通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势就是:无刷新获取数据

AJAX不是一门新的编程语言,只是一种将现有的标准组合在一起使用的新方式;

XML简介

可扩展标记语言,被设计用来传输和存储数据,与HTML类似,但是XML中没有预定义的标签,其标签都是自定义好的

AJAX的特点

AJAX的优点

  1. 可以无需刷新页面与服务器端进行通信;
  2. 允许你根据用户事件来更新部分页面内容

AJAX的缺点

  1. 没有浏览历史,不能回退;
  2. 存在跨域问题(同源);
  3. SEO不友好

HTTP协议

请求报文

重点是格式与参数

行          GET     url路径     HTTP版本
头          Host      Cookie    Content-type    User-Agent
空行
体          GET请求时为空,POST请求时可以不为空

响应报文

重点是格式与参数

行          HTTP版本    响应代码如200   响应字符串如'OK'
头          Content-type    Content-length      Content-encoding
空行
体          主要返回结果

express基本使用

// 1、引入express
const express=require('express')

// 2、创建应用对象
const app=express()

// 3、创建路由规则
app.get('/server',(request,response)=>{
    //设置响应头,设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    //设置响应
    response.send('HELLO EXPRESS')
})

//4、监听端口启动服务
app.listen(8000,()=>{
    console.log("服务已经启动,8000端口监听中...")
})

AJAX基本操作

// 1、创建对象
const xhr=new XMLHttpRequest();
// 2、初始化,设置请求方法和url
xhr.open('GET','http://127.0.0.1:8000/server')
// 3、发送
xhr.send()
// 4、事件绑定,处理服务器返回的结果
// readystate表示xhr对象中的属性,它表示状态
// 0:未初始化
// 1:open方法调用完毕
// 2:send方法调用完毕
// 3:服务端返回了部分的结果
// 4:服务端返回了所有的结果
xhr.onreadystatechange=function(){
    //判断(服务端返回所有的结果)
    if(xhr.readyState===4){
        if(xhr.state>=200&&xhr.state<300){
            //处理结果
            // 1、响应行
            console.log(xhr.status);//返回响应状态码
            console.log(xhr.statusText)//返回响应字符串,如“ok”
            console.log(xhr.getAllResponseHeaders)//返回所有的响应头
            console.log(xhr.response)//返回响应体
        }
    }
}

超时设置

xhr.timeout=2000//超过2s如果还没接收到东西自动取消请求

超时回调

xhr.ontimeout=function(){
    alert("网络异常,请稍后重试")
}

网络异常回调

xhr.onerror=function(){
    alert("您的网络似乎出了一些问题")
}

AJAX手动取消

xhr.abort()

Axios:AJAX工具包

首先安装好axios,或者引入axios

发送get请求

axios.get('http://127.0.0.1:8000/axios-server',{
    //url参数
    params:{
        id:100,
        vip:7
    },
    //请求头信息
    headers:{
        name:'at',
        asge:20
    }
})

fetch

用axios差不多,但是用的地方不多

跨域

同源策略

同源策略是浏览器的一种安全策略

同源:协议、域名、端口号 必须完全相同

ajax必须遵循同源策略,违背同源策略就是跨域

如何解决跨域

JSONP(只支持get请求)

CORS

CORS通过设置一个响应头来告诉浏览器,该请求允许跨域,浏览器收到该响应后就会对该响应进行处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李喵喵爱豆豆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值