云托管导致JSON检索问题?

时间:2016-04-21 08:01:38

标签: php jquery json ajax cloud-hosting

我主持了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....

});

它没有提取最新的会话数据,似乎从先前的尝试中撤回了会话数据。这与云托管有关吗?还是其他一些问题?有没有办法可以禁用此特定文件和/或整个目录的缓存?

感谢收听。

编辑:如果我直接访问PHP检索文件,然后硬刷新(CTRL + F5),然后再次浏览表单,它将忽略我选择的答案并输入数据我做了那么辛苦的刷新

1 个答案:

答案 0 :(得分:0)

我发现如何解决这个问题,万一有人发现这个帖子。

我简单地将缓存:“false”添加到ajax get请求中。