我有一个PHP文件,该文件正在查询MySQL数据库以返回结果,我目前正在将相关结果行保存到PHP数组中,然后尝试用存储的PHP数据回显JS数组。我似乎无法从我的JS文件访问JS变量。
PHP:
while($row = mysqli_fetch_array($query)) {
$dataArray = array($row['stepNumber']);
echo '<script>';
echo 'var dataArray = ' . json_encode($dataArray) . ';';
echo '</script>';
}
JS:
$.ajax({
type: 'POST',
url: 'queries/dateRangeSelect.php',
dataType: 'text',
data: {startDate: startDate, endDate: endDate},
cache: false,
success: function(response) {
console.log(response);
window.alert(dataArray);
},
当dataArray
尝试触发时, window.alert
被报告为未定义。
编辑:
while($row = mysqli_fetch_array($query)) {
$dataArray = array($row['stepNumber']);
}
header('Content-Type: application/json');
echo $dataArray;
不再打印错误,但控制台现在不打印任何内容。
答案 0 :(得分:3)
不要返回<script>
标记,您只需返回JSON:
header('Content-Type: application/json');
echo $json;
您可能想在循环完成后执行此操作,并建立了要返回的数组。
更新
根据您的修改,我建议更像这样的内容:
$dataArray= [];
while($row = mysqli_fetch_array($query)) {
$dataArray[] = array($row['stepNumber']);
}
header('Content-Type: application/json');
echo json_encode($dataArray);