2012-12-05 87 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