IE9和jquery AJAX问题...."如果我点击按钮第一次它运行良好,但第二次没有...我假设缓存"我有jquery https://ajax.googleapis.com/ajax/ libs/jquery/1.4.4/jquery.min.js 和简单的ajax调用:
$('#isvalidcompany').click(function(event) {
var image = $('#isvalidcompany_img');
var old_state = image.attr('src');
image.attr('src', '/images/loading.gif');
$.getJSON('/ajax/change',
function(data) {
if (data['error'] != '') {
image.attr('src', old_state);
$('#isvalidcompany_error').html(data['error']);
} else {
if (data['isvalidcompany'] == 1) {
image.attr('src', '/icons/tick_16.png');
} else {
image.attr('src', '/icons/delete_16.png');
}
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
并且在所有浏览器上它运行良好,除了ie9和ie8和ie7所以如果今天有任何经验,请分享:)
JMa*_*Max 11
使用方法的cache参数.ajax():
$.ajax({
url: "/ajax/change",
success: function(data){
// your callback
},
dataType: JSON,
cache: false
});
Run Code Online (Sandbox Code Playgroud)
[编辑]安东尼的解决方案将阻止每个请求缓存,而我的解决方案将阻止缓存当前请求...查看更符合您需求的内容
是的,Internet Explorer将对AJAX调用的响应缓存到同一URL.您可以使用以下代码来解决此问题:
$.ajaxSetup({
cache: false
});
Run Code Online (Sandbox Code Playgroud)
这会将所有jQuery AJAX调用的cache属性设置为false,这将导致自动包含timestamp参数.
| 归档时间: |
|
| 查看次数: |
4698 次 |
| 最近记录: |