我写了一个发布不同数字的ajax函数。 这是ajax函数。
self.giveCashtoChild = function(){
$.ajax({
type: 'POST',
url: BASEURL + '/index.php/main/addUserChildrenCash'+"/"+self.selectedchild(),
contentType: 'application/json; charset=utf-8'
})
.done(function() {
})
.fail(function(xhr, status, error) {
alert(status);
})
.always(function(data){
});
}
self.selectedchild()的值为2,所以基本上url是addUserChildrenCash / 2,但是它不会转到codeigniter控制器并更改页面。这是控制器功能。
public function addUserChildrenCash($childID){
if (!$this->session->userdata('user_id')){
redirect('main'); // the user is not logged in, redirect them!
}
$userid= $this->session->userdata('user_id');
$this->load->model('main_page');
$childname = $this->main_page->getChildName($childID, $userid);
$data = array(
'name' => $childname['children_name']
);
$this->load->view('header2_view');
$this->load->view('add_user_children_cash_view' , $data);
$this->load->view('footer_view');
}
答案 0 :(得分:1)
您将ajax定义为using System;
,但是通过POST
GET
所以你的代码应该是
在Ajax中
type: 'POST',
url: BASEURL + '/index.php/main/addUserChildrenCash'+"/"+self.selectedchild(),
在控制器中
var id = self.selectedchild(); # Assign data to here
$.ajax(
{
type:"post",
url: "<?php echo base_url(); ?>index.php/main/addUserChildrenCash",
data:{ id:id},
success:function()
{
}
error:function()
{
}
always:function(){
}
});
答案 1 :(得分:0)
self.giveCashtoChild = function(){
var id = self.selectedchild();
$.ajax({
type: 'POST',
url: BASEURL + '/index.php/main/addUserChildrenCash/"+id,
contentType: 'application/json; charset=utf-8'
})
.done(function() {
})
.fail(function(xhr, status, error) {
alert(status);
})
.always(function(data){
});
}
答案 2 :(得分:0)
在你的codeigniter用例中,我会传递你的ajax参数:
$.ajax({
type: 'post',
url: BASEURL +'/index.php/main/addUserChildrenCash',
data: { 'childID': self.selectedchild() },
})
...
在codeigniter控制器中,我会收到如下参数:
public function addUserChildrenCash() {
$childID = $this->input->post("childID");
...
}
您还应检查您的BASEURL是否已指定正确的值。希望这会有所帮助。