按钮上的AJAX功能点击第一次后没有运行PHP

时间:2015-07-06 00:46:52

标签: php jquery ajax

我在按钮上有以下功能:

$(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。

有人可以提出建议吗?

1 个答案:

答案 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命令。

尝试使用这些代码,如果您需要更多帮助,请与我们联系。