2012-12-05 56 views
0

我一直在玩这个一段时间,并没有得到它的工作。我使用笨和按钮$('.galName').click(initUpdate);的点击我打电话功能:Codeigniter和来自ajax请求的数据

function initUpdate() 
{ 
    var id = $(this).attr('id').split('_')[1]; 
    //grab id from link update_xxxx 

    //get gallery information 
    $.ajax(
    { 
     type: 'POST', 
     url: 'ajax/update', 
     data: id, 
     dataType: 'json', 
     success: function(json) 
     { 
      alert(json); 
     } 
    }); 
} 

VAR设置后,我可以提醒ID和这是正确的。这是CodeIgniter控制器中调用的函数。

public function update() 
     { 
      $id = $this->input->post('id'); 

      echo json_encode($id); 
     } 

如果我设置$id="something"alert(json)它正常工作,并提醒任何我设置的东西。但是,我的问题是$id = $this->input->post('id');它不会从ajax请求中提取我的数据。这必须是在CodeIgniter中做的不正确的方式,否则我无法追踪解决方案。任何帮助将非常感激。

谢谢!

+0

貌似有没有POST请求,所以$ id为FALSE和json_encode,因此过高。尝试var_dumping $ this-> input-> post('id'); –

回答

1

您没有设置键/值对的关键部件,尽量

function initUpdate() 
{ 
    var id = $(this).attr('id').split('_')[1]; 
    //grab id from link update_xxxx 

    //get gallery information 
    $.ajax(
    { 
     type: 'POST', 
     url: 'ajax/update', 
     data: {"id": id},// set the "id" key 
     dataType: 'json', 
     success: function(json) 
     { 
      alert(json); 
     } 
    }); 
} 
+0

谢谢,愚蠢的错误,一直盯着那个太长! – Bungdaddy