Ajax的兼容及Ajax的缓存问题
Ajax的兼容:
在ie 6 7 8 不支持XMLHttpRequest的对象;
他的Ajax内置对象为ActiveXObject("Microsoft XMLHTTP")
除了内置对象不一样外,剩下的都一样
兼容性的处理方法:
var http;
if(window.XMLHttpRequest){
http=new XMLHttpRequest;
}
else{
http=new ActiveXObject("Microsoft XMLHTTP")
}
最流行Ajax的轻量级插件
axios (post()的方法,官网给的传参的方法是错的,应用字符串格式传)
fetch插件
字段:比较短的字符串/数字/关键字
Ajax的缓存
浏览器的特性:浏览器不管你请求了多少次,他都会把每次的请求当第一次请求;
对于服务器来说,所有的请求都是第一次的,没有记忆功能(储存意识),这对于服务器来说是好事,对于客户来说就是坏事,就把这种解决的方式(记忆的能力cookie),给了客户端(浏览器)
Ajax缓存的优势
第一次请求的结果,会保存在缓存区,第二次相同请求的时候,直接在缓存区将数据返给,你不在向服务器请求了,增强了页面的响应速度和用户体验;
缓存的缺点
如果第二次请求的相似度过高,浏览器会认为是第一次请求的,就直接从缓存区拿数据,不向服务器请求占内存
cache:储存;
解决缓存的方法:
在参数后面加随机数或加时间戳(前台用最多的方法);
1.XMLHttpRequest.setRequestHeader("Cache-control","no-cache");
2.在服务端加header("Cache-control:no-cache,must-revalidate");
3.在Ajax发送请求前加上:
XMLHttpRequest.setRequestHeader("If-modified-since","0");
4.在Ajax的url参数后加上"?freash=zhang"+Math.random();
5.第5种方法和第四种方法类似,在url参数后加上:
"?timestamp="+new Date().getTime() (解释:new Date(获取当前时间) getTime()获取时间戳)
Ajax的兼容及Ajax的缓存问题的更多相关文章
- $.ajax()方法详解 ajax之async属性 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )
$.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Str ...
- Ajax作用、及Ajax函数的编写
关于Ajax 指的是异步 (Asynchronous JavaScript and XML) <异步的javascript和XML> 1. Ajax并非缩写词,而是由Jesse James ...
- 弄一个ajax笔记方便查询-$.ajax()
$.ajax()是所有ajax方法中最底层的方法,所有其他方法都是基于$.ajax()方法的封装.这个方法只有一个参数,传递一个各个功能键值对的对象. $.ajax()方法对象参数表: 参数 类型 说 ...
- AJAX(一)AJAX的简介和基础
本节简介(异步链接服务器对象)XMLHTTPRequest以及AJAX的简介. AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML). AJ ...
- jquery ajax post, get, javascript ajax post, get 处理
ajax 创建 XMLHttp 对象IE7 以上的版本都支持 XMLHttpRequestIE7 以下的用 ActiveXObject async:true, // 当false 时,当执行完这个才 ...
- jQuery Ajax 实例 具体介绍$.ajax、$.post、$.get的使用
Jquery在异步提交方面封装的非常好.直接用AJAX非常麻烦须要处理浏览器之间的兼容问题,Jquery大大简化了我们的这些操作操作.不用在考虑浏览器这方面的问题,能够直接使用! $.post.$.g ...
- 来了解一下Ajax是什么?Ajax的原理?Ajax与传统Web比较?Ajax的优缺点?Ajax的Post与Get比较
一.什么是Ajax Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助.简单地说,在不需要重新刷新页面的情况下 ...
- 原生ajax与封装的ajax使用方法
当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.ht ...
- ajax cache enable and ajax concurrency!
Today, forget to close ajax cache which leads to duplicate result from cache as to Jquery, this way, ...
随机推荐
- python--json&pickle模块
六 json&pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用, ...
- 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。java算法
知识点一:equalsIgnore 1.使用equals( )方法比较两个字符串是否相等.它具有如下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串 ...
- 【BZOJ4552】【TJOI2016】【HEOI2016】排序
经验还是不够…… 原题: 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对 ...
- UTF-8 Invalid Byte Sequences
Chances are, some of you have run into the issue with the invalid byte sequence in UTF-8 error when ...
- SQLyog中创建数据表及相关查询方法
USE du; /*1.创建账务表 id name mony*/ CREATE TABLE zhangwu(id INT PRIMARY KEY AUTO_INCREMENT, sname VARCH ...
- MySQL Lock--MySQL加锁规则
===================================================================== 淘宝林晓斌总结 在可重复读事务隔离级别下,加锁规则如下: 原 ...
- 数学与猜想 合情推理模式 (G. 波利亚 著)
第十二章 几个著名模式 (已看) $1. 证实一个结论 $2. 连续证实几个结论 $3. 证实一个未必可信的结论 $4. 类比推理 $5. 加深类比 $6. 被隐没的类比推理 第十三章 更多的模式与最 ...
- java_oop_类与对象
类与对象包方法 ========================================= 对象的概念类与对象的关系 万物皆对象 属性(名词) 对象的 ...
- thinkphp5 查询的数据是对象时,获取原始数据方法
获取原始数据 如果你定义了获取器的情况下,希望获取数据表中的原始数据,可以使用: $user = User::get(1); // 通过获取器获取字段 echo $user->status; / ...
- TestNG.xml参数配置-如何控制部分执行@test方法
如果在methods中标识了@test的方法,也可以在method中通过include和exclude来控制需要执行哪些方法 <include name="testMethod1&qu ...