首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

注意IE下Ajax Get缓存问题

在前端项目开发中,使用get请求时,一定要考虑到 IE浏览器缓存问题。。。...起源: ​ 常见ajax请求过一次以后,以后相同urlget请求会存在下面这种情况: 第一种情况:有时返回304,有时返回200; 第二种情况:有时无论后台数据是否变化始终返回304,有时却始终返回...禁止浏览器缓存常用方法: 1....在get请求URL 参数后面加时间戳或者随机数 $.ajax({ url: ‘http://localhost/api/list’, type: ‘get’, data: {...用post请求替代get请求 结果: 有其他方式解决现场尝试其他方式解决,一是因为这种做法不符合RESTful API设计,二是因为这种方式同样会每次请求服务器,可能会没有利用到浏览器自带缓存功能,但是可以解决这个问题

85020

ajax 使用 与 缓存问题

+new Date();,[总之就是使每次访问URL字符串不一样]   设计WEB页面的时候 也应该遵守这个原则 2:一.谈AjaxGet和Post区别 Get方式: 用get方式可传送简单数据...另外最重要一点是,它会被客户端浏览器缓存起来,那么,别人就可以从浏览器历史记录中,读取到此客户数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重安全性问题。...总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。...三:AJAX乱码问题   产生乱码原因:     1、xtmlhttp 返回数据默认字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码     2、post方法提交数据默认字符编码是...不缓存版: $.ajax({ type:"GET" url:'test.html', cache:false, dataType:"html",

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

前端基础-Ajax缓存问题

第4章 缓存问题 4.1 缓存产生 以上一节案例为模板,使用IE9以下版本浏览器测试,有缓存问题; 原因: 在Ajaxget请求中,如果运行在IE内核浏览器下, 其如果向同一个url发送多次请求时...,就会产生所谓缓存问题。...缓存问题最早设计初衷是为了加快应用程序访问速度, 但是其会影响Ajax实时获取服务器端数据。...4.2 客户端解决缓存问题 产生缓存问题就是 我们客户端向同一个 url 发送了多次请求; 如果我们每次请求url不同,那么,缓存问题就不会存在了; 我们可以在请求地址后面加上一个无意义参数...names='+inp.value+'&_='+Math.random(); xhr.open('get',url); 但是,随机数虽然解决了问题,但是,我们不能保证每次生成随机数都不一样; 也就是说

1.1K10

.ajax get 写法,原生Ajax写法(GET

ajaxGET提交方式原生代码: var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else...事件 当readyState值发生改变时触发此事件 open() 这个方法有三个参数,open(“提交方式 get/post”,”资源地址”,异步或者同步 true/false); readyState...ajax2.0比ajax1.0: 1.多了FormData对象,xhr.send(formData) //不能用GET 2.文件上传,文件 … JS 原生ajax写法 //step1.创建XMLHTTPRequest...对象,对于低版本IE,需要换一个ActiveXObject对象 var xhr; if (window.XMLHttpR … 原生ajax与封装ajax使用方法 当我们不会写后端接口来测试ajax时...上次许愿,十月份看完asp.net,已经泡汤了,翻 … 原生Ajax 使用原生Ajax 验证用户名是否被注册 创建出注册信息: 注册信息 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

3.1K20

Ajax缓存处理

缓存 浏览器一次请求需要从服务器获得许多css、img、js等相关文件,如果每次请求都把相关资源文件加载一次,对带宽、服务器资源、用户等待时间都有严重损耗,浏览器有做优化处理,就是把css、img...、js等文件在第一次请求成功后就在本地保留一个缓存备份,后续每次请辞u就在本身获得相关缓存资源文件就可以了,可以明显地加快用户访问速度。...浏览器对动态程序文件缓存处理解决: 给请求地址设置随机数【推荐】; 给动态程序设置header头信息,禁止浏览器对其缓存。 给请求地址设置随机数 Ajax缓存处理</title...function f1(){ var xhr = new XMLHttpRequest(); xhr.open('get

80220

WordPress 技巧:修正 get_option 返回旧缓存数据问题

WordPress 使用了 Memcache 之后,在一定概率下,使用 get_option 获取是旧缓存数据,而不是最新数据。...根据查看源代码分析,可能是在使用 update_option 更新 option 时候,程序成功得更新数据库里面的内容,但是内存缓存数据不知道什么原因无法更新到。...由于很难重现场景,这个也只是一种理论上猜测,但是我们可以为了保证 get_option 获取到是最新数据,在更新 option 时候,首先把内存中缓存清除了。...wp_cache_delete('alloptions', 'options'); wp_cache_delete($option, 'options'); return $value; } 把上述代码复制到你当前主题...functions.php 文件即可,该代码适用于任何使用内存缓存情况,如果你没有使用,就没有必要添加了。

29220

jQuery - AJAX get() 和 post() 方法

POST 两种在客户端和服务器端进行请求-响应常用方法是:GET 和 POST。...GET - 从指定资源请求数据 POST - 向指定资源提交要处理数据 GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。 POST 也可用于从服务器获取数据。...不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。 如需学习更多有关 GET 和 POST 以及两方法差异知识,请阅读我们 HTTP 方法 - GET 对比 POST。...语法: $.get(URL,callback); 必需 URL 参数规定您希望请求 URL。 可选 callback 参数是请求成功后所执行函数名。...下面的例子使用 $.post() 连同请求一起发送数据: 实例 $("button").click(function(){ $.post("/try/ajax/demo_test_post.php

1.4K30

详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

你甚至可以通过制定ID来实现载入部分内容Ajax操作,如: $('#ajax-div').load('data.html#my-section'); 实现GET和POST方法 get( url,...使用JSON相比传统通过 GET、POST直接发送”裸体”数据,在结构上更为合理,也更为安全。至于jQuerygetJSON()函数,只是设置了JSON参数 ajax()函数一个简化版本。...()函数 虽然get()和post()函数非常简洁易用,但是对于更复杂一些设计需求还是无法实现,比如在ajax发送不同时段做出不同动作等。...jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。...不会自动缓存结果。 “json”: 返回 JSON 数据 。 “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时, 如 “myurl?callback=?”

3.3K100

谈谈IE针对Ajax请求结果缓存

在默认情况下,IE会针对请求地址缓存Ajax请求结果。换句话说,在缓存过期之前,针对相同地址发起多个Ajax请求,只有第一次会真正发送到服务端。...目录 一、问题重现 二、通过为URL地址添加后缀方式解决问题 三、通过JQueryAjax设置解决问题 四、通过定制响应解决问题 一、问题重现...我们通过一个ASP.NET MVC应用来重现IE针对Ajax请求结果缓存。...二、通过为URL地址添加后缀方式解决问题 由于IE针对Ajax请求返回结果是根据请求地址进行缓存,所以如果不希望这个缓存机制生效,我们可以在每次请求时为请求地址添加不同后缀来解决这个问题。...设置解决问题 实际上jQuery具有针对这个Ajax设置,我们只需要按照如下方式调用$.ajaxSetup方法禁止掉Ajaz缓存机制。

1.3K60

第109天:Ajax请求GET和POST区别

一、Ajax请求GET和POST区别   1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来   2.使用Get请求发送数据量小,Post请求发送数据量大   3.get请求需注意缓存问题...,post请求不需担心这个问题 Get方式:   用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(httpheader传送),也就是说,浏览器将各个表单字段元素及其数据按照...另外最重要一点是,它会被客户端浏览器缓存起来,那么,别人就可以从浏览器历史记录中,读取到此客户数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重安全性问题。...一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题 三、AJAX乱码问题   产生乱码原因:     1、xmlhttp 返回数据默认字符编码是utf-8,如果客户端页面是gb2312...2、请求结果无持续性副作用。     3、收集数据及HTML表单内输入字段名称总长不超过1024个字符。 五、案例  1、HTML代码(原生Ajax代码) 1 <!

1.6K20

Ajax Get和POST请求注意事项

AjaxGet请求 ajaxget请求需要注意两个地方: 在URL地址后面以请求字符串(传递get参数信息)形式传递数据; 对中文、=、&等特殊符号处理。...(备注:以上蓝色函数可以把“特殊符号、中文”转变为浏览器可以识别不会混淆信息。编码后信息为%后接两个十六进制数) url参数中有+、空格、=、%、&、#等特殊符号问题解决?...%23& URL 中指定参数间分隔符 %26 = URL 中指定参数值 %3D AjaxPOST请求方式...ajax中POST方式需要注意四个地方: 给服务器传递数据需要调用send(请求字符串数据)方法 调用方法setRequestHeader()把传递数据组织为xml格式(模仿form表单传递数据)...传递中文信息无需编码,特殊符号&、| 仍需要进行编码 该方式请求同时也可以传递get参数信息,同样使用$_GET接收该信息。

1.4K10

Django 2.1.7 处理ajax请求、GET、POST请求

需求问题 在业务处理工作中,在同一个视图处理上,可能会有普通GET、POST请求,还会有ajax请求。 那么怎么在处理这些请求时候做上区分呢?...对于这个问题需要有以前两种区分: 一种是视图函数 一种是类视图 这两种方式在处理上大同小异,下面来看看例子。...这是一种前面文章Django 2.1.7 类视图中,在介绍类视图时候说明了一个视图函数如何在同一个url情况下处理GET以及POST请求。 那么这里就是增加上了同时处理ajax请求。...return JsonResponse({'resCode':'0'}) 其实如果没有那么多不同类型请求,直接根据ajax请求类型继续GET和POST处理即可。...类视图:同时存在GET,POST,Ajax处理 class TestView(View): def get(self,request): if self.request.is_ajax

1.5K40

缓存一致性?get💡

大家好,我是老三,今天又是被算法致郁一天,写篇文章缓一缓。 这篇文章,我们来看看缓存一致性问题缓存一致性 我接下来会巴巴说一堆缓存一致性,但是—— 作为一名暴躁老哥,我先把结论撂这了!...并发情况下更新缓存可能会带来种种问题,直接删除缓存更加稳妥。 缓存更新在很多时候需要耗费资源,直接删除,用时再从数据库读取,写进缓存,更省性能。...一致性问题 那么我们采用这种先更新数据库,再删除缓存,可能会出现什么问题呢? 假如,我们更新数据库成功,接下来还没来删除缓存,或者删除缓存失败怎么办?...先删除缓存,再更新数据库 一致性问题 我们看一下,如果先删除缓存,再更新数据库可能会带来什么问题。...缓存与数据库一致性问题深度剖析 [2]. 数据库和缓存一致性几种实现方式,我们来聊聊? [3]. 面试官:缓存一致性问题怎么解决? [4]. 美团二面:Redis与MySQL双写一致性如何保证?

48310

Ajaxget与post区别,什么时候使用post?

get和post在HTTP中都代表着请求数据,其中get请求相对来说更简单、快速,效率高些   get相对post安全性低   get缓存,post没有   get体积小,post可以无限大   ...geturl参数可见,post不可见   get只接受ASCII字符参数数据类型,post没有限制   get请求参数会保留历史记录,post中参数不会保留   get会被浏览器主动catch,post...不会,需要手动设置   get在浏览器回退时无害,post会再次提交请求   post一般用于修改服务器上资源,对所发送信息没有限制。...无法使用缓存文件(更新服务器上文件或数据库)   2. 向服务器发送大量数据(POST 没有数据量限制)   3. 发送包含未知字符用户输入时,POST 比 GET 更稳定也更可靠

63030
领券