我使用智能托管托管,他们使用基于云的托管,可提供更快的加载时间 - 很棒!
但我有一个障碍。
我正在一个单独的文件中通过 PHP 设置一些会话......
<?php
session_start();
if(filter_var($_POST['question_1'], FILTER_VALIDATE_INT)) {
$_SESSION['question_1'] = addslashes($_POST['question_1']);
}
if(filter_var($_POST['question_2a'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2a'] = addslashes($_POST['question_2a']);
}
if(filter_var($_POST['question_2b'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2b'] = addslashes($_POST['question_2b']);
}
if(filter_var($_POST['question_2c'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2c'] = addslashes($_POST['question_2c']);
}
if(filter_var($_POST['question_2d'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2d'] = addslashes($_POST['question_2d']);
}
if(filter_var($_POST['question_2e'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2e'] = addslashes($_POST['question_2e']);
}
if(filter_var($_POST['question_2f'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2f'] = addslashes($_POST['question_2f']);
}
if(filter_var($_POST['question_2g'], FILTER_VALIDATE_INT)) {
$_SESSION['question_2g'] = addslashes($_POST['question_2g']);
}
?>
然后稍后我访问另一个 PHP 文件,该文件将它们放入 JSON 字符串中......
<?php
session_start();
echo json_encode($_SESSION);
?>
但是,这工作正常,直到我通过 Ajax 调用 JSON...
$.getJSON( "retrieve-variables.php", function( data ) {
var items = [];
...etc....
});
它没有拉取最近的会话数据,它似乎从以前的尝试中提取会话数据。这与云托管有关吗?还是其他问题?有没有办法禁用此特定文件和/或整个目录的缓存?
感谢您的聆听。
编辑:如果我直接访问PHP检索文件,然后硬刷新它(CTRL + F5),然后再次浏览表单,它将忽略我选择的答案并输入我所做的硬刷新的数据
我找到了如何解决这个问题,以防有人偶然发现这篇文章。
我只是简单地将缓存:"false"添加到 ajax get 请求中。