我有一个新问题,几乎每个人都会影响使用AJAX。我有一个HTML / JavaScript页面(使用jQuery调用)将.php
加载到我的页面中 - 但它似乎缓存结果并且通常只返回缓存的信息而不是重新运行PHP脚本。
下面的代码是我试图克服这个问题的方法(感谢bazmegakapa的代码 - 我刚刚尝试添加缓存:flase位 - 但它似乎不起作用。)
$(document).ready(function() {
cache: false
$('#selecthere').load('/temp/php_script.php', function () { //callback
$('select', this).change(function () { //catch onchange event of select
//call your function here, pass the selected value
initialize($(this).val());
});
});
});`
答案 0 :(得分:3)
您的php_script.php文件应该发送正确的标头以防止缓存。
<?php
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
答案 1 :(得分:1)
只需在末尾添加一个随机数
var random = Math.random() * 10;
$('#selecthere').load('/temp/php_script.php?r=' + random, function () {
答案 2 :(得分:0)
看起来你正在做缓存:错误。
$(document).ready(function() {
$.ajax('/temp/php_script.php',
{
cache: false,
success: function(result) {
$('#selecthere').html(result);
}
}
);
});