我有一些 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/