我是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”文件中包含会话。 我尝试了很多,但我没有得到解决方案。我会感谢你的帮助。
答案 0 :(得分:2)
从您提供的代码中,您所拥有的问题类型并不清楚。
我猜,你需要将session_start();
添加到include_file.php和loadmsg.php的开头
答案 1 :(得分: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);
}
});
} )
);
答案 2 :(得分:0)
jQuery的加载是对服务器的另一个ajax请求的简写(include_file.php
)。
这是一个单独的请求,当您在单独的请求中调用时,该脚本中的任何其他脚本都不会有(会话)变量。要模仿该行为,只需尝试直接在浏览器中打开include_file.php
。
因此,如果您需要在该脚本中使用会话变量,则需要在尚未启动会话时启动会话。你可以这样做,例如:
if (session_id() === '')
{
// a session has not yet been started
session_start();
}
位于include_file.php
的顶部。