我对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;。
我的问题是我不知道变量可用的命名空间。
提前致谢!