`
午刀十
  • 浏览: 34829 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Jquery.ajax缓存问题

阅读更多
      今天在处理一个数据问题时,发现jQuery.ajax()方法返回的值一直有问题,清除缓存后数据无误,多次测试后发现返回的值都是之前的值,并且一直未执行url(后台为JAVA,设置断点一直未进入)。在网上查找下,发现是未设置type的原因。如果没设置jQuery.ajax的type="Post",那么ajax就会默认type="Get",这就会导致之前数据被缓存起来。加上type="Post",问题解决!
      以下为Jquery AJAX POST和GET区别,原地址:http://fengyan0124.blog.163.com/blog/static/11733439120104151238789/
      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"];


分享到:
评论
1 楼 iridiumcao 2012-05-11  
我今天也碰到这个问题,但是,我用的是 post。

相关推荐

    jquery .ajax 局部刷新之后 js无法调用问题解决

    在JavaScript和jQuery的世界里,`.ajax`方法是用于异步数据通信的核心工具,它使得页面无需重新加载就能更新部分内容。然而,在使用`.ajax`进行局部刷新后,有时会出现JavaScript无法正确调用的问题,这主要涉及到...

    jquery.imn.js

    jQuery作为一个广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务。而jQuery.imn.js是jQuery的一个特定扩展,虽然在网上并不常见,但它提供了独特的功能和优化,使得开发者能够更...

    jquery.ui.autocomplete-Ajax

    **jQuery UI Autocomplete AJAX** jQuery UI的Autocomplete组件是一个强大的功能,它允许用户在输入时自动填充建议选项,极大地提高了用户体验。这个组件尤其适用于搜索框、表单输入和其他需要动态获取数据的场景。...

    jquery-ajax最简单的实力

    **jQuery AJAX 实力展示:轻松实现二级联动** 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛用于创建动态和交互性强的网页。jQuery库为开发者提供了方便、简洁的API,使得使用AJAX变得更加简单...

    jquery.autocomplete.js 自动补全插件实例

    `jQuery.autocomplete.js` 是一个流行的JavaScript库jQuery的扩展插件,主要用于实现输入框的自动补全功能。这个插件极大地增强了用户在网页上的交互体验,尤其在处理大量可选项时,用户可以通过输入部分文字快速...

    jquery.paginate ajax分页

    `jQuery.paginate` 是一个基于 jQuery 的插件,专门用于实现 AJAX 分页功能,它允许用户在不刷新整个页面的情况下加载更多内容。这个插件简化了前端与后端的数据交互,提升了用户体验。 ### 1. jQuery 和 AJAX ...

    jQuery_Ajax_实例_全解析

    `jQuery.ajax()`是jQuery提供的最强大的Ajax功能,允许用户自定义更多的选项,如请求类型、数据格式、缓存设置等。对于复杂的Ajax交互,如需要处理错误或自定义HTTP头,通常会使用`jQuery.ajax()`。它的基本用法如下...

    jquery.i18n.properties-min-1.0.9

    jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互等任务。通过jQuery,开发者可以编写更简洁、高效的代码,提高了开发效率。 2. **jQuery i18n.properties插件介绍** jQuery...

    前端项目-jquery.loadtemplate.zip

    - **缓存**:插件会自动缓存加载的模板,提高性能。 - **模板编译**:编译后的模板可以多次使用,提高渲染效率。 - **回调函数**:提供加载和处理模板的回调函数,便于自定义操作。 5. **应用场景**: - 动态...

    jquery.jmsajax(0.2.2)

    jQuery.jmsajax还考虑到了性能问题,通过合并请求、缓存响应和延迟加载等方式,减少了不必要的网络通信,提升了页面加载速度。此外,其min.js版本是经过压缩优化的,体积更小,更适合生产环境使用。 五、结论 ...

    jquery.paginate.js分页插件

    jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和AJAX交互,因此使用jQuery实现分页功能可以大大提高效率。 ### 二、jQuery Paginate.js 插件安装 1. **引入jQuery**:首先需要在HTML文件中引入...

    无刷新分页 jquery.pagination.js

    3. **Ajax请求**:jQuery中的$.ajax或$.getJSON方法用于发起异步请求,获取分页数据。这些请求通常包括URL、请求类型(GET或POST)、成功回调函数等参数。 4. **前端渲染**:收到服务器响应后,使用jQuery操作DOM,...

    php+mysql+jquery.more.js下拉加载带sql数据完整流程带mysql测试数据

    它接收前端通过Ajax发送的请求,处理SQL查询,获取新的数据块,并返回给前端。在PHP中,连接到MySQL数据库使用`mysqli`或`PDO`扩展,执行SQL语句来获取分页数据。例如,你可能会有一个包含`LIMIT`子句的`SELECT`查询...

    jQuery 封装Ajax

    **jQuery 封装Ajax** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于实现页面的异步更新,提升用户体验。jQuery库通过其简单易用的API,极大地简化了Ajax操作,使得开发者无需关注底层的...

    jqueryTreeTable+ajax(构建树形表格)

    本教程将详细讲解如何利用jQuery TreeTable插件结合AJAX和MySQL数据库,以及Spring、SpringMVC(SSM)架构来创建一个动态的树形表格。 **一、jQuery TreeTable介绍** jQuery TreeTable是一款轻量级的JavaScript...

    jquery-1.7.1.min.js

    JSONP、AJAX缓存和错误处理机制也得到了进一步完善。 总的来说,"jquery-1.7.1.js"和"jquery-1.7.1.min.js"是jQuery库的两个重要形态,分别服务于开发和生产环境。理解它们的区别与应用场景,对于熟练掌握jQuery并...

    含有ajax的分页插件的使用、jquery.paginate.js

    在网页开发中,分页是一种常见的用户界面设计,用于处理大量数据时的高效展示和浏览。本教程将详细讲解如何使用包含Ajax功能...同时,优化Ajax请求性能,如使用缓存策略、避免重复请求等,也是提升用户体验的重要环节。

    Ajax_JQuery.

    在"11_Ajax_JQuery"的培训文档中,你可能会学到如何使用JQuery来创建Ajax请求,包括设置请求头、处理错误、使用缓存、设置超时等高级特性。同时,文档可能还会涵盖如何结合Ajax和JQuery实现更复杂的交互,如表单提交...

    07_1_ajaxjquery.rar

    6. 高级特性:如局部刷新、缓存控制、跨域请求等高级 Ajax 使用技巧。 7. jQuery 动画与 Ajax 结合:利用 jQuery 的动画功能,实现数据加载时的过渡效果,提升用户体验。 通过深入学习这个资料包,开发者不仅可以...

Global site tag (gtag.js) - Google Analytics