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

时间:2019-08-07 15:07:48

标签: 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;

非常感谢您的指导。

2 个答案:

答案 0 :(得分:1)

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

您应该让StripPrefix=1读取文件并发送内容,然后才能在JavaScript代码中使用它。

/some-api

ajaxfile.php
ajaxfile.php

答案 1 :(得分:0)

Ajax某种程度上破坏了文本文件数据。直接从网页上使用isset可以很好地工作,因此我已使用JavaScript将textbox值存储在cookie中。以下代码可以正常工作,以获取Cookie的值,隐藏文本文件的名称,获取文本文件的内容并将其存储在jQuery表创建者脚本使用的$ sheetData变量中。它不会损坏文本文件,并且可以正常工作。

(start) AAAA (the end)
(start) BBBB (the end)
(start) CCCC (the end)