我从oracle db(index.php)生成了一个php数组
while ($row = oci_fetch_array ($stid, OCI_ASSOC + OCI_RETURN_NULLS)){
$result[]=$row;
}
现在我必须将此数组传递给另一个php文件以进行其他处理。
<script language="javascript" type="text/javascript">
function sortme()
{
var d=document.getElementById("div");
var obj = <?php echo json_encode($result); ?>;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
d.innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getsorted.php?q=obj",true);
xmlhttp.send();
}
然后在php文件中获取sorted.php我需要这个双维数组&#34;结果&#34;回来并排序。所以我用它,(getsorted.php)
<?php
$q=$_GET["q"];
$ans=json_decode(str_replace('\"','"',$q),true);
var_dump($q);
var_dump($ans);
?>
但是我无法找出任何东西。我无法取回阵列。 如果这是错误的方法,请提出正确的方法。
请发布代码。
非常感谢。
有更好的方法吗?
答案 0 :(得分:1)
当您必须传递URLEncoded JSON表示时,您正在传递字符串“obj”。替换:
xmlhttp.open("GET","getsorted.php?q=obj",true);
使用:
xmlhttp.open("GET","getsorted.php?q=" + encodeURIComponent(JSON.stringify(obj)),true);
你在做什么有点像这样:
PHP file AnotherPHPFile
| ^ |
| ____| |
V / v
Javascript---(sorted result into HTML)
如何简单地将getsorted.php
文件包含在index.php
中,并立即使用排序功能。您以这种方式保存网络请求..