使用AJAX将php数组传递给外部javascript文件

时间:2017-12-17 16:23:18

标签: javascript php arrays ajax

我有一个需要将数组传递给外部javascript文件的php文件。我正在尝试使用AJAX,因为这似乎是正确的方法。我正在尝试echo json_encode($exif),然后在js中获取它,但json打印在我当前页面上。我怎样才能实现我正在做的事情以及做到这一点的正确方法?

我正在尝试做这个答案How to pass variables and data from PHP to JavaScript?的第一个解决方案,但是我没有看到如何整合php部分以便它不会显示在我的页面上。

这是php代码。我需要在构建视图时传递数组。因此,当我执行回显时,整个数组将显示在页面上。

public function makeImagePage($image) 
{
    ...
        $this->parts["content"] .= "<p><u>Localisation:</u> </p>";
        $this->parts["content"] .= '<div id ="map"></div>';
        echo json_encode($exif);
        $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>';
    ...
}

1 个答案:

答案 0 :(得分:0)

更改此内容:

    $this->parts["content"] .= "<p><u>Localisation:</u> </p>";
    $this->parts["content"] .= '<div id ="map"></div>';
    echo json_encode($exif);
    $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>';

为此,将数据放入javascript区域供您使用:

    $this->parts["content"] .= "<p><u>Localisation:</u> </p>";
    $this->parts["content"] .= '<div id ="map"></div>';
    $this->parts["content"] .= '<script>var my_var = '. json_encode($exif) .';</script>';
    $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>';

这假设你的map.js在任何地方使用该变量,你必须设置正确的js变量名,并相应地调整map.js代码,等等。

这只是将你的php数据放到某个地方供js使用的第一步。