【问题标题】:How to pass data JSON string from PHP to external javascript如何将数据 JSON 字符串从 PHP 传递到外部 javascript
【发布时间】:2019-04-14 15:35:07
【问题描述】:

我有一个从文本文件加载 JSON 对象字符串的 php 页面。我想将对象字符串发送到一个外部 javascript 文件,该文件最终将使用它来更新从 php 页面显示的 html。不幸的是,我无法将字符串传递给外部 javascript。

我一直在尝试遵循 Afzal Ahmad 在这里概述的方法 Pass Php Arrays to External Javascript File 但我没有得到任何结果

php:

<?php

session_start();
echo 'Hello ' . $_SESSION['first'] . '<br>';
loadUserData();
displayPage();

function loadUserData(){
        $userString = 'userdata/'.$_SESSION['email'].'.txt';
    echo $userString;
    $user = file_get_contents($userString);
}

function displayPage(){
/*html stuff here*/
}

?>
<script type="text/javascript">var userObj = <?php echo json_encode($user); ?>;</script>
<script type="text/javascript" src="scripts/index.js"></script>

javascript:

console.log(userObj);

【问题讨论】:

    标签: javascript php html


    【解决方案1】:

    您的 loadUserData 函数没有返回任何内容。

    您应该删除echo $userString; 并在file_get_contents 之后添加return $user

    您应该将loadUserData(); 更改为$user = loadUserData();

    【讨论】:

      【解决方案2】:

      这是因为您没有在函数 loadUserData 中将 $user 声明为 global variable

      要解决此问题,您必须使用 global 关键字:

      function loadUserData() {
          global $user;
      
          $userString = 'userdata/'.$_SESSION['email'].'.txt';
          echo $userString;
          $user = file_get_contents($userString);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-15
        • 2021-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-29
        • 1970-01-01
        相关资源
        最近更新 更多