1

我是 PHP 新手,我正在尝试更新包含包含文件的 div 的一部分,如下所示:

<div id="hello"><?php  include("include_file.php");?></div>

在 ajax 成功时,我想更新该 div 以便它向我显示更新的字段。我试过这个:

$(document).on('click','a#relatedUser', function(event){
         event.preventDefault();
        $.ajax({
            url:'loadmsg.php',
            type:"GET",
            async:false,
            success:function(data){
              $('.loadmsg').html(data);  
              $('div#hello').load('include_file.php');

            }
        });

});

但它遇到了会话问题,我无法在“include_file.php”文件中包含会话。我尝试了很多,但我没有得到解决方案。我会感谢你的帮助。

4

3 回答 3

2

从您提供的代码来看,您所遇到的问题类型并不清楚。

我可以猜到,您需要session_start();在 include_file.php 和 loadmsg.php 的开头添加什么

于 2013-03-28T13:51:45.110 回答
0

目前尚不清楚您要更新哪个字段或元素。...所以我认为这可能是您想要的:

HTML:

   <div id="hello">These are the contents that will be updated on the ajax call </div>
   <a id="relatedUser" href="#" >Click Here </a>

   <script>
     $(document).ready( $("#relatedUser").click(
     function () {
     $.ajax({
            url:'/path/to/include_file.php',
            type:"GET",
            success:function(data){
              $("#hello:).html(data);  
            }
        });
} ) 

);

于 2013-03-28T13:58:04.887 回答
0

jQuery 的负载是对服务器的另一个 ajax 请求的简写(to include_file.php)。

这是一个单独的请求,当您在单独的请求中调用它时,该脚本中没有任何其他脚本的(会话)变量可用。要模仿这种行为,只需尝试include_file.php直接在浏览器中打开即可。

因此,如果您需要在该脚本中使用会话变量,则如果会话尚未启动,则需要启动会话。您可以这样做,例如:

if (session_id() === '')
{
     // a session has not yet been started
     session_start();
}

在顶部include_file.php

于 2013-03-28T14:16:36.813 回答