为什么我的jquery / ajax帖子未在我的php代码中注册? - javascript

因此,我尝试使用PHP和AJAX构建一个单页应用程序,但导航遇到一些问题。

我有一个文件controller.php控制要显示的页面。处理发布请求的代码如下

编辑:忘记提及回显$_POST['page']什么也没显示

if(!isset($_POST['page'])){
    include('Pages/landing_page.php');    
    echo "empty";
}
else{
    echo $_POST['page'];
    if($_POST['page'] == 'landing_page'){
        include('Pages/landing_page.php');
    }
    if($_POST['page'] == 'forum'){
        include('Pages/forum.php');
        echo "forum hit";
    }
}

使用$.ajax函数生成发布请求,如下所示

$(document).ready(function(){
    $("#home_link").on('click', ()=>{

        alert("Working");

        $.ajax({
            type: "POST",
            url: "controller.php",
            data: "page=landing_page"
        });
    }); 

    $('#forum_link').on('click', ()=>{
        $.ajax({
            type: "POST",
            url: "controller.php",
            data: "page=forum",
            success: function(){
                alert("Callback Works");
            }
        });
    });
});

我知道jquery的点击是有效的,因为如果我单击论坛链接,则会得到原始的“正在工作”警报以及回调警报。

我使用的是内置于PHP开发服务器中的Netbeans,但我也已在为PHP和AJAX配置良好的适当apache2服务器上对其进行了测试。

任何帮助,将不胜感激,谢谢!

javascript大神给出的解决方案

据我了解的问题,这应该工作:

PHP :(都一样)

if(!isset($_POST['page'])){
    include('Pages/landing_page.php');    
    echo "empty";
}
else{
    echo $_POST['page'];
    if($_POST['page'] == 'landing_page'){
        include('Pages/landing_page.php');
    }
    if($_POST['page'] == 'forum'){
        include('Pages/forum.php');
        echo "forum hit";
    }
}

JS:

$(document).ready(function(){
    $("#home_link").on('click', ()=>{

        alert("Working");

        $.ajax({
            type: "POST",
            url: "controller.php",
            data: "page=landing_page"
        });
    }); 

    $('#forum_link').on('click', ()=>{
        $.ajax({
            type: "POST",
            url: "controller.php",
            data: "page=forum",
            success: function(data){
                $("#container").html(data);
                alert("Callback Works");
            }
        });
    });
});

您需要获取从函数返回的数据,并将其放置在某个容器元素中。

如果这不是您要尝试的操作,请发表评论。

如何防止SQL使用单引号字符存储转义字符 - javascript

我需要存储在开头和结尾都带有单引号的文本字符串。我正在从PHP发布JavaScript命令。我将引号添加到这样的字符串中:echo '<script type="text/javascript">'; echo 'function GetCodes() {'; echo 'va…

Ajax功能后没有数据传递到URL - javascript

这是我使用Ajax将参数传递到另一个PHP页面的脚本。 $(document).on( "click",".btndriver", function() { var id = $(this).attr("id"); var nombre = $(this).attr("nombre…

ajax正在加载页面以返回POST请求 - javascript

当我通过ajax发出“ POST”请求时,返回请求时页面正在加载。我们不使用ajax阻止整个页面重新加载吗?这是我的html代码:<form method="post"> <div align="center" class="col-md-10"> <input typ…

服务器响应后如何在Symfony2中显示警报或信息消息而无需重新加载页面 - javascript

我正在用Symfony2为配镜师创建一个管理应用程序。当管理员将新客户添加到数据库时,我的控制器将检查客户名称是否重复。我想显示一个弹出对话框,询问用户是否要添加新客户。我该如何实施?我应该使用Ajax吗?这是我在这种情况下使用的控制器的示例代码:public function nouveauAction(Request $request) { $form …

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …