当前位置: 首页 > news >正文

srchref,fetchajax,cookiesession

文章目录

  • src和href的区别
    • 1.请求资源类型不同
    • 2.作用结果不同
    • 3.浏览器的解析不同
  • cookie,sessionStorage,localStorage
  • fetch和ajax
    • 1.ajax
    • 2.fetch

src和href的区别

1.请求资源类型不同

href,超文本引用,用于建立文档与资源的联系,常用的有:link、a。
src,将其所指向的资源下载并应用到当前页面,常见的有script、img。

2.作用结果不同

href,用于文档与资源之间确立联系。
src,请求到的资源替换当前内容。

3.浏览器的解析不同

href,将资源解析成css文件,并行加载请求资源,不会阻塞对当前文档的处理。
src,会暂停其他资源的处理,直到该资源加载、解析和执行完毕,将其所指向资源应用到当前内容。这也是为什么把js文件放在底部而不是头部原因。

cookie,sessionStorage,localStorage

1、存储大小不同,cookie:4k,web storage:5m

2、数据有效期不同:

cookie可以设置, 设置过期时间, 也可以手动清空;

session:仅在浏览器关闭前有效;

local:永久有效,除非手动清除。

3、作用域:
cookie在所有同源窗口共享;

session仅在一个浏览器共享,不同浏览器不共享;

local在所有同源窗口共享。

4、通信:

cookie通过http,在浏览器和服务器传递;

session仅在客户端;

local仅在客户端。

5、应用:

cookie判断用户是否登陆过,记忆密码自动登录;

session敏感账号一次登录,关闭浏览器删除;

local个人长期登录, 长期保存数据。

fetch和ajax

ajax与fetch都是前端开发过程中常用到的数据请求方式。fetch是一种http数据请求的方式,是XMLHttpRequest的一种替代方案;ajax使用 JavaScript 向服务器提出请求并处理响应而不阻塞用户核心对象XMLHttpRequest。

1.ajax

创建XMLHttpRequest对象
创建HTTP请求(调用open方法设置基本请求信息)
发送请求
注册事件
获取返回数据,对页面进行更新

//1.创建Ajax对象if(window.XMLHttpRequest){var oAjax=new XMLHttpRequest();}else{var oAjax=new ActiveXObject("Microsoft.XMLHTTP");}//2.创建HTTP请求oAjax.open('GET', url, true);//3.发送请求oAjax.send();//4.注册事件oAjax.onreadystatechange=function (){if(oAjax.readyState==4){if(oAjax.status==200){//5.获取返回数据fnSucc(oAjax.responseText);}else{//alert('失败了');if(fnFaild){fnFaild();}}}};

2.fetch

Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的部分,例如请求和响应。它还提供了一个全局
fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源

  • 第一个参数是URL
  • 第二个是可选参数,可以控制不同配置的 init 对象
  • 使用了 JavaScript Promises 来处理结果/回调
window.Fetch = (url,option)=>{return new Promise((resolve, reject) => {let data = {method: "POST",headers:{'Accept': 'application/json, text/plain, */*','Content-Type': 'application/json; charset=utf-8',},body: {},};data = JSON.parse((JSON.stringify(data)+JSON.stringify(option)).replace(/}{/,','));fetch(url,data).then(res=>{// .text():返回字符串// .json():返回一个JSON对象// .formData():返回一个FormData对象// .blob():返回一个blob对象// .arrayBuffer():返回一个二进制数组resolve(res.json())}).catch(function (res) {reject(res)})});
}

相关文章:

  • 机器学习之数学基础 时间复杂度和空间复杂度
  • [论文笔记]Query Rewriting for Retrieval-Augmented Large Language Models
  • hadoop和hbase对应版本关系
  • SpringBoot之请求映射原理
  • GIS之arcgis系列09:arcpy实现克里金差值
  • 【计算机毕业设计】258基于微信小程序的课堂点名系统
  • 开源项目-Docker部署学之思管理系统
  • [Android] Binder 里的 Service 和 Interface 分别是什么
  • 二维码扫描,没有生成,生成比较复杂
  • Web前端图形显示:深入探索与实用指南
  • 深入探索MySQL:性能调优与架构设计
  • Python数据分析与机器学习在医疗诊断中的应用
  • Flink Sql:四种Join方式详解(基于flink1.15官方文档)
  • 配置调整BGP网络的收敛速度方法
  • Flutter InAppWebView Unknown feature SUPPRESS_ERROR_PAGE
  • ➹使用webpack配置多页面应用(MPA)
  • Android优雅地处理按钮重复点击
  • iOS编译提示和导航提示
  • 前端之React实战:创建跨平台的项目架构
  • 入口文件开始,分析Vue源码实现
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 小而合理的前端理论:rscss和rsjs
  • 写给高年级小学生看的《Bash 指南》
  • 译自由幺半群
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​ubuntu下安装kvm虚拟机
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #、%和$符号在OGNL表达式中经常出现
  • #pragma once
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (0)Nginx 功能特性
  • (CPU/GPU)粒子继承贴图颜色发射
  • (day6) 319. 灯泡开关
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (生成器)yield与(迭代器)generator
  • (四)模仿学习-完成后台管理页面查询
  • (正则)提取页面里的img标签
  • (转)nsfocus-绿盟科技笔试题目
  • (转)大型网站架构演变和知识体系
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转载)hibernate缓存
  • (自用)gtest单元测试
  • .NET 4.0中的泛型协变和反变
  • .net core 连接数据库,通过数据库生成Modell
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Framework 3.5安装教程
  • .NET Micro Framework初体验(二)
  • .NET 直连SAP HANA数据库