Javascript 在JS中调用php变量不起作用
我试图通过使用php读取服务器目录的内容来进行用户输入。因此,用户可以选择一个文件,在我的例子中是一个CSV文件,它被保存到一个变量中,然后在我的JavaScript代码中得到进一步的处理,该代码应该从中生成一个图表。它现在只需输出所选文件的路径字符串。我尝试使用json_encode函数,但它似乎仍然不起作用Javascript 在JS中调用php变量不起作用,javascript,php,Javascript,Php,我试图通过使用php读取服务器目录的内容来进行用户输入。因此,用户可以选择一个文件,在我的例子中是一个CSV文件,它被保存到一个变量中,然后在我的JavaScript代码中得到进一步的处理,该代码应该从中生成一个图表。它现在只需输出所选文件的路径字符串。我尝试使用json_encode函数,但它似乎仍然不起作用 <?php $dir = '/var/www/html/'; $graphen = ''; if (!isset($_POST['submit'])) { if ($dp =
<?php
$dir = '/var/www/html/';
$graphen = '';
if (!isset($_POST['submit'])) {
if ($dp = opendir($dir)) {
$files = array();
while (($file = readdir($dp)) !== false) {
if (!is_dir($dir . $file)) {
$files[] = $file;
}
}
closedir($dp);
} else {
exit('Directory not opened.');
}
if ($files) {
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
foreach ($files as $file) {
echo '<input type="checkbox" name="files[]" value="' . $file . '" /> ' .
$file . '<br />';
}
echo '<input type="submit" name="submit" value="submit" />' .
'</form>';
} else {
exit('No files found.');
}
} else {
if (isset($_POST['files'])) {
foreach ($_POST['files'] as $value) {
$graphen .= $dir . $value . '<br />';
}
} else {
exit('No files selected');
}
}
echo $graphen;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="highcharts.js"></script>
<script src="data.js"></script>
<script src="exporting.js"></script>
<script src="export-data.js"></script>
<script src="accessibility.js"></script>
<script src="jquery-3.5.1.min.js"></script>
</head>
<body>
<div id="container1"></div>
<script type="text/javascript">
var fileName = <?php echo json_encode($graphen); ?>; //doesn't work
$.ajax({
type: "GET",
url: fileName,
success: function (data) {
drawChart(data)
}
});
function drawChart(raw_data) {
//my code to draw chart is here and working
}
var文件名=//不起作用
$.ajax({
键入:“获取”,
url:fileName,
成功:功能(数据){
图纸(数据)
}
});
功能绘图图(原始数据){
//我绘制图表的代码在这里,并且正在工作
}
如果在JavaScript中为变量分配字符串,请使用“
或”
:
var x=“你好”
您当前的代码将导致
var fileName=;
=>var fileName=variable;
添加引号,它应该可以工作:
var fileName='';
=>var fileName='variable';
您应该读取文件的内容,而不是为变量分配路径。还可以使用JS解析对文件名中分配的JSON进行解码,以将其转换为JS对象。此外,您无法使用JS读取服务器中的文件。因此,请使用PHP和将其分配给js变量并解码