首页 > 解决方案 > 如何获取数据 id_user 使用 ajax post onclick 并传递 id_user

问题描述

我想通过 onclick jquery 获取基于所需行表的 id_user 数据,然后可以将 id_user 数据传递给控制器​​并将页面重定向到 edit_user,如何使用 jquery 函数通过 onclick 获取 id_user 数据?我请求您的帮助,对不起,如果我的任何问题不清楚,如果不清楚,您可以问我

这是我的代码

function edit(){
    var id_user = $(this).attr("id_user");
    var url = $(this).attr("href");

    alert(id_user);

    console.log(id_user);
    $.ajax({
        type:'post',
        url : url,
        data :{id_user:id_user},
        success:function(data){
            alert(data)
        },
        error:function(err){
            alert(err)
        }
    });
}

这是我的代码

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

这是我的控制器

public function edit(){

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

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

        //$id_user = (int)$_POST['id_user'];

        echo $id_user; die;

        //$id_user = (int)Session::get('idx');

        $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;

这是我的函数 getUserbyId 的控制器代码

public function getUserbyId($id_user){

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

    echo json_encode($id_user);

    if(!empty($id_user)){

        $url="http://localhost:8585/get-user/$id_user";

        $curl = curl_init($url);

        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPGET, 1);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $result =  curl_exec($curl);


        if($result === FALSE){

            die('Curl failed: ' .curl_error($curl));
        }
        curl_close($curl);
        return $result;
    }
}

我的问题是 id_userundetified

标签: javascriptphpjquery

解决方案


尝试以下代码: 更改 html 代码:您需要在编辑函数中传递引用此对象。此外,href 应该是无效的,否则页面将被重定向到 url。

<a onclick="edit(this)" data-id_user="<?php echo $row ['idx'] ?>" href="javascript:void(0)" data-url="<?php echo BASE_URL. 'app.php/usermanagement/edit_user' ?>" class="edit">Edit</a>

javascript代码的变化

function edit(obj){

    var id_user = $(obj).data("id_user"); //GET data attribute id_user
    var url = $(obj).data("url"); //Get data attribute url

    alert(id_user);

    console.log(url);
    $.ajax({
        type:'post',
        url : url,
        data :{'id_user':id_user},
        success:function(data){
            alert(data)
        },
        error:function(err){
            alert(err)
        }
    });

}

推荐阅读