我有一个php
页面p1.php
,其中在JavaScript
函数中,我有一些json
array
作为j
的位置,现在我想使用此j
到另一个php
页面p2.php
我尝试过
window.location.href="p2.php?data="+j
然后在p2.php
中
我用$_get['data']
来得到结果
但是经过研究,我发现该格式不适用于海量数据。
所以
我保留了将其传递到url
答案 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