我在按钮上有以下功能:
$(function() {
$("#submit").click(function(){
$.ajaxSetup({ cache: false });
$.ajax({
url:'crfile.php',
type:'GET',
});
};
它调用以下PHP文件:
if (session_status() == PHP_SESSION_ACTIVE){
session_destroy();
}
session_start();
$extension = ".txt";
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension;
fopen("temp/" . $_SESSION['fname'], 'w');
$fname = $_SESSION['fname'];
它在temp /文件夹中创建一个随机名称的文件。当我再次单击#submit
按钮而不重新加载页面时,两者都正常 。它重新运行该函数,但它不会在PHP脚本中生成新的文件名。
我认为这是缓存或会话,但事实并非如此。我使用的是PHP 5.5。
有人可以提出建议吗?
答案 0 :(得分:1)
首先,您需要检查您的ajax功能。尝试使用方法'发布',或使用('点击',function(){.....})代码。
其次,您需要确保您的ajax功能真正起作用。 使用' print'和'退出'用于调试。
if (session_status() == PHP_SESSION_ACTIVE){
session_destroy();
}
session_start();
$extension = ".txt";
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension;
//debugging command
print $_SESSION['fname'];
print 'see this?';
exit;
fopen("temp/" . $_SESSION['fname'], 'w');
$fname = $_SESSION['fname'];
这样你就会知道你的ajax是否有效。您可以在上面代码的末尾使用debugging命令。
尝试使用这些代码,如果您需要更多帮助,请与我们联系。