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, ...
随机推荐
- Mybatis(四)
参考网址如下: http://www.cnblogs.com/xdp-gacl/p/4264425.html 向大家推荐 博客园 孤傲苍狼 大哥的博客,东西写的有水平.小弟记录一下自己的学习历程,自勉 ...
- Go Example--通道遍历
package main import ( "fmt" ) func main() { queue := make(chan string, 2) queue <- &quo ...
- React中的Context——从父组件传递数据
简介:在React中,数据可以以流的形式自上而下的传递,每当你使用一个组件的时候,你可以看到组件的props属性会自上而下的传递.但是,在某些情况下,我们不想通过父组件的props属性一级一级的往下传 ...
- pycharm 的操作1
- Linux期末复习题
版权声明: https://blog.csdn.net/u014483914/article/details/36622451 1.More和less命令的差别 More命令通经常使用 ...
- MySQL创建表,更新表,删除表,重命名表
创建表 mysql> create table 表名( -> 列名 数据类型 是否为空 auto_increment, -> 列名 数据类型 是否为空... -> ... -& ...
- python之路---04 列表 元组
十七 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(&quo ...
- Java NIO Reactor模式
一.NIO介绍: NIO模型: 1.Channel为连接通道,相当于一个客户端与服务器的一个连接,Selector为通道管理器,将Channel注册到Selector上,Selector管理着这些Ch ...
- Dynamic dispatch
Dynamic dispatch动态调度.动态分发 In computer science, dynamic dispatch is the process of selecting which im ...
- oracle之 如何 dump logfile
这篇文章解释了如何在联机或归档重做日志文件中获取转储. 约束和限制:1.数据库必须安装(或打开).更改系统转储日志文件与任何实例无关,因此不需要为其操作安装数据库.但是,在ALTER SYSTEM D ...