日期:2014-05-16 浏览次数:20414 次
项目使用jqery combox ajax 下拉列表,在IE下第一次打开没有问题可从后台获得数据,但是的二次打开不能从后台获得最新数据,跟踪发现第二次打开回调函数没有起作用,仍然是上次老数据。在firefox和Chrome下则没有这个问题。
后发现是jquery ajax 缓存设置问题。原来数据被IE缓存了,原来getJSON是jquery数据交互中的第三层,最底层就是$.ajax(),$.ajax()中有个cache参数,将其改为false,就能解决上述问题。
代码修改如下
$.ajaxSetup({ async:false, cache:false )};?
$.ajax()的参数列表:
参数名 | 类型 | 描述 |
url | String | (默认: 当前页地址) 发送请求的地址。 |
type | String | (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 |
timeout | Number | 设置请求超时时间(毫秒)。此设置将覆盖全局设置。 |
async | Boolean | (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 |
beforeSend | Function | 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。function (XMLHttpRequest) { this; // the options for this ajax request } |
cache | Boolean | (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。 |
complete | Function |
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|