Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 刷新div而不刷新页面_Php_Javascript_Jquery_Ajax_Refresh - Fatal编程技术网

Php 刷新div而不刷新页面

Php 刷新div而不刷新页面,php,javascript,jquery,ajax,refresh,Php,Javascript,Jquery,Ajax,Refresh,我正在进行一个设置过程来设置数据库。 我试图让用户在不刷新页面的情况下完成所有阶段。 我想使用.load()jquery函数,但现在却遇到了麻烦。 这是javascript: if(response.error == 'none') $("#setup_form").slideToggle('fast', function() { $('#setup_form').load('./includes/db_setup_form.php'); $("#setup_form").delay

我正在进行一个设置过程来设置数据库。 我试图让用户在不刷新页面的情况下完成所有阶段。 我想使用.load()jquery函数,但现在却遇到了麻烦。 这是javascript:

if(response.error == 'none')
  $("#setup_form").slideToggle('fast', function() {
  $('#setup_form').load('./includes/db_setup_form.php');
  $("#setup_form").delay(1000).slideToggle('fast');
});
if正在检查上一个安装阶段是否一切正常

db_setup_form.php的工作原理如下:

<?php if ($_SESSION['setup_progress'] == NULL) {?>
Starting phase
<?php } 
else {
 switch ($_SESSION['setup_progress'])
 {
    case "1":?>
    phase 1
    <?php break;

    case "2":?>
        phase 2
    <?php break;

 }
} ?>

起始阶段
第一阶段
第二阶段
这是主页:

<div id="setup_form">
  <?php include('./includes/db_setup_form.php'); ?>
</div>

$\u SESSION['setup\u progress']变量在用户完成第一个安装阶段后给出。 问题是,如果我在第一个安装阶段完成后手动刷新页面,但javascript似乎不起作用,那么一切都可以正常工作,div将在没有更新信息的情况下显示

谢谢
据我所知,一切都应该正常……但事实并非如此。

您应该提供有效的url,而不是路径。因此:

.load('./includes/db_setup_form.php');
应该是

.load('/includes/db_setup_form.php');
你在加载结束时错过了DIV ID


不要忘记,$.load()或任何ajax请求都是异步的,因此即使请求尚未完成,或者即使请求失败,代码的其余部分也将继续运行,毫无理由,它使动画更平滑,但仍然没有加载更新的内容。这样做会给我一个404错误,但我确信路径是正确的。好的。。。那么您指定了错误的路径/url。你能像这样浏览文件看看发生了什么吗是的,我能。它是有效的。但仍然无法使用js。。。这是一个迷雾。好吧,试了几次之后,我几乎成功了。文件路径必须在没有/之前写入(包括/db\u setup\u form.php)。现在的问题是,当使用.load()调用php页面时,会话变量不起作用,它们会手动重新构造页面tho。我发现的唯一可行的方法是使用一些$GET变量,但我更喜欢使用会话变量,你知道为什么它不适用于会话变量吗?
$('#setup_form').load('./includes/db_setup_form.php #setup_form');