云托管导致 JSON 检索出现问题?
Cloud hosting causing issues with JSON retrieval?
我使用 Smarthosting 进行托管,他们使用基于云的托管来提供更快的加载时间 - 太棒了!
但是我有一个障碍。
我正在通过 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....
});
它没有拉取最近的会话数据,它似乎拉回了以前尝试的会话数据。这与云托管有关吗?还是其他什么问题?有没有一种方法可以禁用此特定文件的缓存 and/or 整个目录?
感谢收听。
编辑:如果我直接访问 PHP 检索文件,然后硬刷新它 (CTRL+F5),然后再次浏览表格,它会忽略我的答案我已经为我所做的硬刷新选择并输入了数据
我找到了解决这个问题的方法,以防万一有人偶然发现这个问题 post。
我简单地将 cache:"false" 添加到 ajax 获取请求。
我使用 Smarthosting 进行托管,他们使用基于云的托管来提供更快的加载时间 - 太棒了!
但是我有一个障碍。
我正在通过 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....
});
它没有拉取最近的会话数据,它似乎拉回了以前尝试的会话数据。这与云托管有关吗?还是其他什么问题?有没有一种方法可以禁用此特定文件的缓存 and/or 整个目录?
感谢收听。
编辑:如果我直接访问 PHP 检索文件,然后硬刷新它 (CTRL+F5),然后再次浏览表格,它会忽略我的答案我已经为我所做的硬刷新选择并输入了数据
我找到了解决这个问题的方法,以防万一有人偶然发现这个问题 post。
我简单地将 cache:"false" 添加到 ajax 获取请求。