我有一个需要将数组传递给外部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>';
...
}
答案 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使用的第一步。