AJAX的学习笔记

前言

AJAX:全程Asynchronous JavaScript And XML 就是异步JS和XML

又称 阿贾克斯

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

XML(现在已经被JSON取代了)

XML 可扩展标记语言 用来传输和存储数据

HTML是预定义标签,而XML中没有预定义标签,全是自定义标签用来表示一些数据

AJAX特点:
优点 缺点
1.无需刷新页面与服务器端进行通信 2.允许根据用户事件更新部分页面内容 1.没有浏览历史 2.存在跨域问题 3.SEO不友好

HTTP

HTTP (hypetext transport protocol) 协议 (超文本传输协议),协议详细规定了浏览器和万维网服务器之间相互通信的规则 ——约定,规则

请求报文requese

重点是格式与参数

行      POST / s?ie=utf-8  HTTP/1.1
头      Host: atguigu.com
        Cookio: name=guigu
        Content-type: application/x-www-form-urlencoded
        User-Agent: chrome 83
空行
体      username=admin&password=admin
响应报文response

行      HTTP/1.1  200  OK
头      Content-Type: text/html;charset=utf-8
        Content-length: 2048
        Content-encoding: gzip
空行
体      <html>
            <head>
            </head>
            <body>
                <h1>尚硅谷</h1>
            </body>
        </html>

AJAX基本操作

1.创建对象

const xhr = new XMLHttpRequest();

2.初始化 设置请求方法和url

xhr.open('GET', 'http://127.0.0.1:8000/server'); GET或者POST两种请求方式

3.发送

xhr.send();

4.事件绑定 处理服务端返回的结果

xhr.onreadystatechange = function() {
 //判断
 if (xhr.readyState === 4) {
     if (xhr.status >= 200 && xhr.status < 300) {
    // 处理服务端返回的结果
     result.innerHTML = xhr.response;
     }
  }
}

onreadystatechange事件:

on when当...时候

readystate 是xhr对象中的属性,表示状态 0 1 2 3 4

0——未初始化 1——open方法调用完毕 2——send方法调用完毕

3——服务端返回了部分结果 4——服务端返回了所有结果

change 改变

axios

btn[2].onclick = function() {
     axios({
         //请求方法
         method: 'POST',
         //url
         url: '/axios-server',
         // url参数
         params:{
             vip:10,
             level:30
         },
         // 头信息
         headers: {
             a:100,
             b:200
         },
         // 请求体参数
         data:{
             username: 'admin',
             password: 'admin'
         }
     }).then(response=>{
         console.log(response);
         //响应状态码
         console.log(response.status);
         //响应状态字符串
         console.log(response.statusText);
         //响应头信息
         console.log(response.headers);
         ///响应体
         console.log(response.data);
     })
}

同源策略

来自同一个服务

JSONP(JSON with Padding)

是一个非官方的跨域解决方案

写在最后:这是在学习尚硅谷b站课程ajax时写的笔记

相关推荐

  1. AJAX学习笔记

    2024-03-10 22:12:06       45 阅读
  2. Ajax学习笔记

    2024-03-10 22:12:06       39 阅读
  3. Ajax学习笔记

    2024-03-10 22:12:06       30 阅读
  4. Ajax学习笔记

    2024-03-10 22:12:06       18 阅读
  5. AJAX学习笔记完(学习自用)

    2024-03-10 22:12:06       30 阅读
  6. AJAX学习笔记上(学习自用)

    2024-03-10 22:12:06       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 22:12:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 22:12:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 22:12:06       82 阅读
  4. Python语言-面向对象

    2024-03-10 22:12:06       91 阅读

热门阅读

  1. JVM的各种垃圾回收器(GC)

    2024-03-10 22:12:06       44 阅读
  2. npm镜像源地址

    2024-03-10 22:12:06       49 阅读
  3. 研发笔记——localstorage实现tabel表格表头自定义

    2024-03-10 22:12:06       40 阅读
  4. 【蓝桥杯】节省时间

    2024-03-10 22:12:06       33 阅读
  5. 网络层转发分组的过程

    2024-03-10 22:12:06       39 阅读
  6. 应用安装

    2024-03-10 22:12:06       34 阅读
  7. http cookie,tcp syncookie 和 tcp fastopen 杂谈

    2024-03-10 22:12:06       40 阅读