jquery ajax缓存

本文讨论了Ajax向后台写日志时遇到的缓存问题,包括问题描述、解决方法以及Ajax POST和GET请求的区别。通过设置ajax请求类型为POST、设置cache属性为false或全局设置get方法下的cache关闭,可以有效解决该问题。

      今天下午解决问题时,碰到一个问题,就是通过ajax向后台写日志时,只有第一次是ok的,然后要等一段时间才能点击第二次,真是汗呐,这种问题尽然从没在意过,

即使之前写过不少这个ajax动态去后台读数据或写数据, 我还以为是ocx的问题呢,差点冤枉了那位同事了.....

通过搜索发现果然有这个问题存在,记录一下,   

     问题描述: jquery ajax 默认形式:

     var params = {

                                 url: 'ajax/action.do',

                                  success: function(data) {    }  ,

                                   error:function(data){}

                            };

      $.ajax(params);

     这种默认情况下,type: "GET", 当你点击相关按钮处发这个事件时,就会发现问题,

通过搜索知道:如果IE对其进行了缓存,你再次点击是无效的...............

 

解决方法有三种:

(a).把type改成post,并随便设置设置一个参数data: 'a=b'(一定要设置参数,否则仍然会被cache)

(b).type仍然使用get,但设置cache: false

(c).通过ajaxSetup来全局设置get方法下的cache
$.ajaxSetup ({
    cache: false //close AJAX cache
});

 

Jquery AJAX POST和GET区别

1:GET访问 浏览器 认为 是等幂的

        就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]

       所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果

      POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)

      防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的]

      设计WEB页面的时候 也应该遵守这个原则

2:谈Ajax的Get和Post的区别

      Get方式:

      用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。

      Post方式:

      当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数进行传递,使用POST方式传递的  数据量要比使用GET方式传送的数据量大的多。

      总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。

 

      使用get方式需要注意:

 

      1 对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.例:var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent (content)+"&id=1" ;

 

      使用Post方式需注意:

 

      1.设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量. 通常使用XmlHttpRequest对象的SetRequestHeader("Context-Type","application/x-www- form-urlencoded;")。例:

      xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

      2.参数是名/值一一对应的键值对,每对值用&号隔开.如 var name=abc&sex=man&age=18,

    注意var name=update.php? abc&sex=man&age=18以及var name=?abc&sex=man&age=18的写法都是错误的;

      3.参数在Send(参数)方法中发送,例: xmlHttp.send(name); 如果是get方式,直接 xmlHttp.send(null);

      4.服务器端请求参数区分Get与Post。如果是get方式则$username = $_GET["username"]; 如果是post方式,则$username = $_POST["username"];

 

转自:http://fengyan0124.blog.163.com/blog/static/11733439120104151238789/

 

 

 

 

 

 

 

 

   

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值