IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 原生ajax / 同源 / 跨域 -> 正文阅读

[JavaScript知识库]原生ajax / 同源 / 跨域

ajax

ajax是一种创建交互式网页应用的网页开发技术

在网页不刷新的情况下,可以请求数据然后实现网页局部刷新或者渲染

?ajax的原理:通过XMLHttprequest对象向服务器发异步请求,从服务器获取数据后,然后用JavaScript来操作DOM而更新页面

如何创建一个原生ajax

ajax 核心对象 XMLHttpRequest对象

  // 1. 创建一个XMLHttpRequest的实例 xhr
  let xhr = new XMLHttpRequest();
  // 2. 为xhr.onreadystatechange设置事件监听
  xhr.onreadystatechange = function () {
    // xhr.readyState
    // 0 请求未初始化(刚实例化XMLHTTPRequest)
    // 1 客户端和服务器建立连接(调用open方法)
    // 2 请求已经被接受
    // 3 请求在处理中(调用send方法)
    // 4 处理完成,返回数据给客户端
    if (xhr.readyState === 4) {
      switch (xhr.status) {
        case 200 :
          console.log(JSON.parse(xhr.responseText));
          break
        case 404:
          console.log('页面 / 资源找不到');
          break;
      }
    }
  }
  // 3. 调用xhr.open(请求方式。请求地址,同步异步)
  xhr.open('GET','url',false)
  // 4. 发送请求的数据
  xhr.send(null)

Http常见的状态码

  • 200 请求成功,浏览器会把响应体内容显示在浏览器中;
  • 404 (客服端问题)请求的资源没有找到;
  • 400 语义错误,当前请求无法被服务器理解;
  • 401 当前请求需要用户验证;
  • 403 服务器已经理解请求,但是拒绝执行它;
  • 500 (服务器问题)请求资源找到了,但服务器内部发生了不可预期的错误;
  • 301/302/303 重定向问题;

同源和跨域

?同源

一个域下的js脚本在未经允许的情况下,不能够访问另一个域的内容。

两个域的协议,域名,端口号必须相同,否则不属于同一个域

同源策略的目的就是为了保证用户信息的安全,防止恶意的网站窃取数据

?跨域(非同源)

当一个请求url的协议,域名,端口三者之间任何一个域当前页面的url不同就是跨域

协议(http / https / ftp / smtp / pop3)

域名(www.一级域名.二级域名.顶级域名(org/com/cn/edu/gov)) /路径/路径

端口号(http:80/https:443)

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:08:26  更:2021-10-06 12:08:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:50:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码