PHP使用jQuery / AJAX重定向和加载内容

时间:2014-11-26 14:36:29

标签: php jquery ajax

我必须创建一个包含各种页面的简单网站(5-6)。现在我有一个名为index.php的“主”页面,如下所示:

<html>
    <head></head>
    <body>
        <div id="content"></div>
    </body>
</html>

此页面上还有其他div,就像我显示一些图像等的标题一样,并用css设计。

现在,当用户点击菜单栏中的链接时,我想要显示的任何页面都会通过jQuery / AJAX加载到内容div中。我在这里这样做:

$(document).ready(function () {
// Per default load home.php
var url= "home.php";
    $.ajax({
      url: url,
      success: function(data){
           $('#content').html(data);
      }
    });         
$('#register').click(function() {
    var url= "register.php";
    $.ajax({
      url: url,
      success: function(data){
           $('#content').html(data);
      }
    });
});
// more pages here..
});

这完全没问题,我对结果感到满意,现在对问题感到满意。 在其中一些页面(如register.php)中,我提交了表单。现在,一旦我提交表单并执行各种操作,如数据库操作等,我想重定向到其他页面之一,并可能显示一条简短的信息消息。我在php文件中重定向的内容如下:

header('Location: ../app/index.php');

我从代码片段中得到了这个,所以我不确定这是否是正确的方法。因为我有默认设置index.php加载我的home.php内容,它总是重定向到我的home.php内容,我很高兴这一点。但是,如果我想重定向到另一个页面,请问go.php?我该怎么做?这甚至可以从PHP或我需要用javascript / jQuery吗?

我在这里有点迷失,尝试过搜索但是在这里没有遇到这个问题。

1 个答案:

答案 0 :(得分:1)

提交表单和数据库连接:

您可以使用 onclick 功能来处理提交按钮的操作:

.JS文件中的示例

$(document).ready(function(){ 
    $('#submit').click(function(){
        var input = $('#textfiel').val();
        $.post("ajaxHandle.php",
            {data:input }
          ).success(function(responce){
              $('#responceMessage').prepend(responce);
              /* This is the field on your index.php page where you want to display msg */
          });
    });
});

ajaxHandle.php文件:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
 $inputData = $_POST['data'];

/* your database code will be done here you can find user input data in $inputData */

    echo "registration successful"; /* this string will be get in var responce in .JS file */
}

动态重定向页面:

你可以使用.load()函数,例如:

$('#content').load('../app/register.php');

使用此http://api.jquery.com/load/引用来使用它。