doudiemei2013 2018-10-25 14:21
浏览 266

PHP将PHP数据传递到JS数组中

I have a PHP file which is querying a MySQL database in order to return results, I'm currently saving the relevant result row into a PHP array and I'm then trying to echo out a JS array with the PHP data stored. I do not seem to be able to access the JS variable from my JS files.

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 is being reported as not defined when the window.alert tries to trigger.

EDIT:

  while($row = mysqli_fetch_array($query)) {
    $dataArray = array($row['stepNumber']);
  }
  header('Content-Type: application/json');
  echo $dataArray;

It is no longer printing errors but the console is now not printing anything.

  • 写回答

1条回答 默认 最新

  • dongyan7851 2018-10-25 14:23
    关注

    Don't return a <script> tag, you can just return the JSON:

    header('Content-Type: application/json');
    echo $json;
    

    You probably want to do this AFTER your loop is complete and you have built up the array you wish to return.

    UPDATE

    Based on your edit, I suggest something more like this:

    $dataArray= [];
    while($row = mysqli_fetch_array($query)) {
        $dataArray[] = array($row['stepNumber']);
    }
    header('Content-Type: application/json');
    echo json_encode($dataArray);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么