我从视图中传递变量时遇到了很大的麻烦。
此代码是一个配置文件线程,它包含三个部分:概述,注释和线程。要转到另一部分,我使用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
传递给其他部分?
答案 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/