javascript - 在后续 PHP 代码中使用 Ajax 分配的变量

标签 javascript php jquery ajax

我有一些 php 和 jquery/js,它们使用 ajax 将文本框的值传递给 php。 ajax 调用包含在由按钮激活的函数中。 我已将文本框的内容分配给 $filename。 我现在如何在后续 php 代码中使用变量 $filename。 我尝试将其添加到成功事件中,但似乎没有发生任何事情。

文本框和按钮代码:

<input type="text" size="17" maxlength="21" name="datepicker" id="datepicker" />

<input type="button" onclick="GetDate()" value="Click" />

脚本:

function GetDate(){

    var filename = $('#datepicker').val();

    // AJAX request
    $.ajax({
       url: 'ajaxfile.php',
       type: 'post',
       data: {filename: filename},       
       success: function(data){
       var $filename = (data);
       console.log('Date Succesfully Captured: ' + $filename);       

       <?php
        $filename = "upload/".$filename. ".txt";
        $sheetData = file_get_contents($filename);
        echo $sheetData;
       ?>


       }
    });
}

外部 php 文件(ajaxfile.php):

 $filename = $_POST['filename'];
  echo $filename;

非常感谢您的指导。

最佳答案

第一个文件中的 PHP 代码在您打开页面时运行,现在使用该变量还为时过早。

您应该让 ajaxfile.php 读取该文件并发送内容,然后您就可以在 JavaScript 代码中使用它。

ajaxfile.php

$filename = $_POST['filename']; // You really should validate this, 
                                // to prevent the user from reading any file on the server
readfile("upload/$filename.txt");
function GetDate() {
  var filename = $('#datepicker').val();
  $.ajax({
    url: 'ajaxfile.php',
    type: 'post',
    data: {
      filename: filename
    },
    success: function(data) {
      $("#date").html(data);
    }
  });
}

关于javascript - 在后续 PHP 代码中使用 Ajax 分配的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57397445/

相关文章:

javascript - 如何使用angularjs获取下拉列表框文本?

javascript - 跟踪服务器上的站点访问 - Meteor 中未定义的 session 变量

php - 将子字符串与占位符匹配

php - 使用 PHP 检索文本区域内容。添加反斜杠

php - 匹配数量和单位的正则表达式

javascript - 如何在 Google Chart 中设置轴步长?

php - 通过单击链接或从复选框下拉列表中选择 "select-all",JQuery/Javascript 全选

javascript - 为什么 JSON 不接受我的 PHP 变量?

jquery getJSON函数计时问题

javascript - Rdio 风格弹出框?