重定向页面时如何将数据发布Ajax带到Controller

时间:2019-12-30 03:00:37

标签: php ajax model-view-controller

如何在重定向页面时将ajax发布数据带到控制器,我从<a class="edit" href="<?php echo BASE_URL. "app.php/usermanagement/edit_user "?>" id_user="<?php echo $row ['idx'] ?>">Edit</a>获得了id_user数据,但是当重定向数据页面为null / 0时,如何将发布ajax数据带到重定向页面通过控制器,请帮助我,如果有不清楚的地方请致歉并可以问我...

注意:我使用PHP原生MVC

这是我的代码

$(document).ready(function(){
$('.edit').on('click', function(){
        var id_user =$(this).attr("id_user");
        alert(id_user);
        var url =$(this).attr("href");
        $.ajax({
            type:'post',
            url: url,
            data:{id_user:id_user},
            success: function(data){
                alert(data)
            },
            error:function(err){
                alert(err)
            }
        });
    });
});

这是我的控制人

public function edit(){

        Template::setTitle('Edit User Management');

        $id_user = (int)Request::post('id_user');

        $result = $this->getUserbyId($id_user);      

        $dataresult = json_decode($result, true);
        if($dataresult === NULL) {
            echo "<script language = \"javascript\">window.alert(\No Have Data\");";
            echo "javascript:history.back();</script>";
            return false;
        }
        $data = $dataresult;
        return $data;

这是我的代码

<a class="edit" href="<?php echo BASE_URL. "app.php/usermanagement/edit "?>" id_user="<?php echo $row ['idx'] ?>">Edit</a>

这是我的问题

我有数据id_user,我可以使用数据警报 enter image description here

但是当我重定向页面时,这是结果 enter image description here

当我重定向Page时,我想获得这样的数据 enter image description here

这是我添加“阻止默认值”时的新错误 enter image description here

1 个答案:

答案 0 :(得分:0)

由于您具有行列表并以某种方式呈现它们,因此可以将记录的id分配给每个实体。

<a class="edit" href="<?php echo BASE_URL. "app.php/usermanagement/edit_user?id_user=" . $row['idx']; ?>">Edit</a>

现在,当您单击时,可以使用edit参数向id_user控制器动作发出GET请求。您可以这样处理此请求:

public function edit_user(){

  if(isset($_GET['id_user'])){

    //TODO: make something with it
    var_dump($id_user);
    die();
  } else {
    //throw an error 
  }
}

您的JQuery代码应如下所示:

$('.edit').on('click', function(){
        var id_user =$(this).attr("id_user");
        alert(id_user);
        var url =$(this).attr("href");
        $.ajax({
            type:'post',
            url: url,
            data:{id_user:id_user},
            success: function(data){
                //alert(data);
                window.location = '/app.php/usermanagement/edit_user?id_user=' + id_user;
            },
            error:function(err){
                alert(err);
            }
        });
    });