如何在php中将一页的json数组传递给另一页?

时间:2019-03-05 15:32:17

标签: javascript php json

我有一个php页面p1.php,其中在JavaScript函数中,我有一些json array作为j的位置,现在我想使用此j到另一个php页面p2.php

我尝试过

window.location.href="p2.php?data="+j 

然后在p2.php中 我用$_get['data']来得到结果
但是经过研究,我发现该格式不适用于海量数据。  所以         我保留了将其传递到url

的想法

2 个答案:

答案 0 :(得分:-1)

如果您的j是对象,则可以使用jquery发布

示例:

$.post("p2.php", { datavar : j},function(data){
})

在您的p2.php中

print_r( $_POST["datavar"]);
echo $_POST["datavar"]["var2"];

答案 1 :(得分:-1)

这取决于您可以移动的许多数据,但始终很难通过url发送纯数据。 但是在您的示例中,只有错过将json(对象)转换为字符串的情况:

window.location.href="p2.php?data="+JSON.stringify(j);

如果您以正确的方式进行操作,请将信息存储在会话中: http://php.net/manual/es/reserved.variables.session.php

然后p1.php看起来像这样:

<?php
session_start();
$_SESSION['json'] = isset($_POST['json']) ? $_POST['json'] : null;
// other php stuffs
?>
<!-- other html stuffs -->
<script>
var json = { your: 'json' };
(function(){
  var xhr = new XMLHttpRequest();
  var data = encodeURIComponent(JSON.stringify(json));
  xhr.open('post', 'p1.php');
  xhr.send('json='+data);
})();
</script>

这些代码通过AJAX将信息(json)发送到p1.php