将变量从视图传递到jquery ajax,在代码点火器中加载另一个视图

时间:2015-05-30 01:04:50

标签: php jquery ajax codeigniter

我从视图中传递变量时遇到了很大的麻烦。
此代码是一个配置文件线程,它包含三个部分:概述,注释和线程。要转到另一部分,我使用ajax。

配置文件页面的控制器

public function profile($id){
    $this->data['posts']=$this->HomeModel->getProfileData($id);

    $this->load->view('forum-profile.php',$this->data);
}

HomeModel

public function getProfileData($id) {
    $this->db->select('*');
    $this->db->from('user');
    $this->db->where('user_id', $id);
    $query=$this->db->get();

    return $query->result();
}

这是每个部分的按钮

<a href="#" class="list-group-item p-menu active" id="overview">Status</a>
<a href="#" class="list-group-item p-menu" id="komentar">Komentar</a>
<a href="#" class="list-group-item p-menu" id="thread">Judul Topik</a>

这是jquery

$('#overview').click(function(){
    $.ajax({
        url: BASE_URL+'/FPpweb/page/stats', 
        type: 'POST',
        dataType: 'html',
        success: function(response){
         $('.profile-body').html(response);
        }
    });
});

$('#komentar').click(function(){
    $.ajax({
        url: BASE_URL+'/FPpweb/page/komen',
        type: 'POST',
        dataType: 'html',
        success: function(response){
         $('.profile-body').html(response);
        }
    });
});

$('#thread').click(function(){
    $.ajax({
        url: BASE_URL+'/FPpweb/page/trit',
        type: 'POST',
        dataType: 'html',
        success: function(response){
         $('.profile-body').html(response);
        }
    });
});

编辑:忘记每个部分控制器

public function stats(){ 
    $this->load->view('profile-overview.php');
}

public function komen(){
    $this->load->view('profile-komentar.php');
}

public function trit(){
    $this->load->view('profile-thread.php');
}

网址将类似http://localhost/FPpweb/page/profile/17 如何使用ajax将user_id传递给其他部分?

1 个答案:

答案 0 :(得分:0)

我假设您的视图中有用户ID。您可以使用数据:{name:yourValue}来发送数据。

$('#overview').click(function(){
$.ajax({
    url: BASE_URL+'/FPpweb/page/stats', 
    type: 'POST',
    data: { userId: user_id },
    dataType: 'html',
    success: function(response){
     $('.profile-body').html(response);
    }
});

});

数据

要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值(如下所述)。 http://api.jquery.com/jquery.ajax/