繁体   English   中英

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

[英]How to pass json array of one page into another in php?

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

我已经尝试过了

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

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

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

例如:

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

在您的p2.php中

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

它取决于您可以移动的许多数据,但始终很难通过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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM