将数据结构从PHP获取到JS,然后继续使用GET

时间:2017-05-04 12:30:49

标签: javascript php

我对PHP和JS如何共享变量感到有些不知所措。我的页面上有一个按钮,点击后需要将数据保存到服务器上的配置文件中。

数据将通过PHP在pageload上读取,结果是带有对象的数组列表。 我使用以下技巧将这些对象传递给JS:

echo '<script>';
echo 'var scenariolistjs = ' . json_encode($scenariolist, JSON_PRETTY_PRINT) . ';';
echo 'var anz_scenariosjs = ' . json_encode($anz_szenarios, JSON_PRETTY_PRINT) . ';';
echo 'var anz_slavesjs = ' . json_encode($anz_slaves, JSON_PRETTY_PRINT) . ';';
echo '</script>';

当我在console.log中打印这些变量时,对象被正确传输。现在的问题是,在按钮单击我需要调用服务器上的PHP文件以将数据保存到文件。所以我再次传输变量,但这次是通过get:

$(function() {
$('input[type="submit"]').click(function() { 

console.log('You clicked button with ID:' + this.id);
console.log(scenariolistjs[this.id[4]].slavelist);

$.get('/savexml.php', { 
pscen: scenariolistjs[this.id[4]].name, 
pslaves: scenariolistjs[this.id[4]].slavelist, 
});

});
});

我的savexml.php然后收到变量:

<?php

$scen = $_GET['pscen'];
$slaves = $_GET['pslaves'];


file_put_contents('upload/test.xml',$slaves);

?>

但是file_put_contents只打印&#34; ArrayArrayArrayArray&#34;。

我的问题是我不知道变量可用的命名空间。

  1. 我可以在不解析它​​们的情况下访问savexml.php中的变量,因为调用.php已经定义了它们吗?
  2. 或者它们是否仅适用于.php中定义的?
  3. 是否有更简单的方法将数据从按钮单击传输到文件?
  4. 提前致谢!

0 个答案:

没有答案