php - 按钮上的 AJAX 功能第一次点击后不运行 PHP

标签 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 脚本中生成新的文件名。

我以为是缓存或 session ,但事实并非如此。我使用的是 PHP 5.5。

有人可以建议一下吗?

最佳答案

首先,您需要检查您的ajax功能。尝试使用方法 'post',或在您的代码中使用 on('click',function(){ .....}) 。

其次,您需要确保您的 ajax 功能确实有效。 使用“打印”和“退出”进行调试。

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是否工作了。您可以在上面代码的末尾使用调试命令。

尝试这些代码,如果您需要更多帮助,请告诉我。

关于php - 按钮上的 AJAX 功能第一次点击后不运行 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31236444/

相关文章:

php - ASIHTTPRequest 将 json 发送到 php 服务器

php - 如何在php中使用数组键和while循环来显示mysql表数据

php - 如何使用jquery ajax将php中的echo拆分为2个不同的div

jquery - 创建具有动态值的 json 对象

进行 AJAX 调用时,Javascript 语法突出显示丢失

python - 上传文件时显示微调器 Django 和 Ajax

php - 上课通知 - php

php - 如何在 PHP 中使用 mysql 循环和 xlsxwriter php 导出到 Excel 工作表

jquery - 下载 jquery.numeric.js 文件

javascript - 删除图像时 p 取 100% 宽度