douzhiji2020 2013-06-06 11:28
浏览 51
已采纳

从使用AJAX打开的页面访问父页面变量

i am looking for a way to directy access the variables of the page that loaded another page inside a div in it using ajax. i know i can do it using some kind of a get string pass it to the Javascript and open the son page with it and retrieve the variables using get normal GET function, i am looking for a better solution. i have this parent page:

<body onLoad="control_post_data(<?php
echo true;
//echo isset($_COOKIE['username']);  // allow after login is done
 ?>)">
<div id="publish_page">

</div>

and this is the script:

function control_post_data(bool){
var div = document.getElementById("publish_page");
var xmlhttp = createXmlHttpRequestObject();
if(bool){
    //user is registered presend post page
    xmlhttp.onreadystatechange=function()
    {
       if (xmlhttp.readyState==4 && xmlhttp.status==200)
       {

         var responseText = xmlhttp.responseText;

         div.innerHTML = responseText;
         //Use the response text to add the extra row
       }
    }
    xmlhttp.open("GET","sub_published.php",true);
    xmlhttp.send();
} else {
    //present log in/register page
    xmlhttp.onreadystatechange=function()
    {
       if (xmlhttp.readyState==4 && xmlhttp.status==200)
       {

         var responseText = xmlhttp.responseText;

         div.innerHTML = responseText;
         //Use the response text to add the extra row
       }
    }
    xmlhttp.open("GET","login.php",true);
    xmlhttp.send();
}
}

i am trying to acces the parent page variables in the sub_published.php page.

  • 写回答

3条回答 默认 最新

  • dpymrcl269187540 2013-06-06 11:38
    关注

    You could store all the parent page variables in the $_SESSION variable, like:

    session_start();
    $_SESSION['someid']['varname']=$var;
    

    and then access it in the child page:

    session_start();
    $var=$_SESSION['someid']['varname'];
    

    if you wish to allow users to have open multiple instances of your page with different values in variables, you should set the someid to something unique and send that with the ajax request, otherwise it can be static.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起