我有一个DIV并在运行时从一个aspx文件中加载一个Image作为src。
我使用JQUERY .Post(..)发布aspx页面并获取Image并通过以下代码将该图像加载到div中。
function UpdateCapticha() {
$.post("../JqueryCapticha.aspx", {},
function (data) {
$("div#CapDiv").html(data);
});
}
我在点击按钮时调用此函数并期望在div中使用不同的Image,因为每次都会发布 JqueryCapticha.aspx 。但每次我得到相同的图像。我认为 JqueryCapticha.aspx 没有发布,但Image正在缓存中。
有人可以建议我应该怎样做 JqueryCapticha.aspx 每次都会发布,并且应该有新的图片。
我也在浏览器上单独测试了 JqueryCapticha.aspx ,并且通过在每个帖子上提供不同的图像来正常工作。
先谢谢。
答案 0 :(得分:0)
如果你认为它是缓存问题那么你可以做
$.ajaxSetup({
cache:false
});
和休息保持不变
function UpdateCapticha() {
$.post("../JqueryCapticha.aspx",function (data){
$("div#CapDiv").html(data);
});
}
使用$.post
function UpdateCapticha() {
var noCache = new Date().getTime();
$.post("../JqueryCapticha.aspx",{noCache:noCache},function (data){
$("div#CapDiv").html(data);
});
}
答案 1 :(得分:0)
您可以使用$ .ajax函数阻止缓存:
$.ajax({
url: "../JqueryCapticha.aspx",
type: "POST",
cache: false,
complete: function (data) {
$("div#CapDiv").html(data);
});
但是:$.post的文档说:
使用POST获取的页面永远不会被缓存,因此缓存和ifModified jQuery.ajaxSetup()中的选项对这些请求没有影响。
所以看起来这实际上不是你的问题。我建议使用Firebug或类似工具来查看发送的网络请求,以确定实际传输的内容。
答案 2 :(得分:0)
附加动态查询字符串变量以防止缓存:
function UpdateCapticha() {
var date = new Date()
var ticks = date.getTime()
$.post("../JqueryCapticha.aspx?ticks=" + ticks, {},
function (data) {
$("div#CapDiv").html(data);
});
}