2012-02-18 127 views
0

我有一個簡單的jQuery發佈功能,將JSON數據發佈到CodeIgnitor控制器。該帖子成功從客戶端,但我沒有收到服務器的響應。我對CI很新,所以我確信我做錯了。如何將JSON數據發佈到CodeIgnitor控制器?

function post(){ 
     $.post("<?php echo base_url();?>index.php/user/create", {username:"testUser",password:"userpassword"},function(data) { 
       var test = data; 
     }); 
    } 

所以我傳遞兩個字符串到用戶控制器的創建操作。爲了測試,我只是試圖從發佈的數據中獲取「用戶名」並將其發送回調用函數。目前的答覆是空的。

public function create(){ 
     if($this->input->post('newuser')){ 
      $username = $this->input->post('username'); 
      $password = $this->input->post('password'); 

      echo json_encode(array('username'=>$username)); 
} 

有人可以給我一個提示嗎? Thanx

+0

這個'post()'位於哪裏?在外部腳本?或在頁面中? – Joseph 2012-02-18 05:23:48

+0

只是爲了好玩:在php.ini中啓用php_short_tags,以便您可以將所有調用轉換爲'<?php echo「foo」; ?>'到''......另外,使用'site_url()',如'<?= site_url('user/create');?>'。最後,圍繞StackOverflow有很多線索可以指導你如何從你的URL中刪除index.php;)乾杯! – 2012-02-18 09:24:10

回答

0

您正在檢查該帖子是否包含密鑰newuser但是,您只能使用密鑰「用戶名」和「密碼」發送2個字符串。你需要JavaScript的部分修改,以這樣的:

$.post("<?php echo base_url();?>index.php/user/create", {newuser: 1, username:"testUser",password:"userpassword"}... 

或者,剛剛從create()功能刪除if聲明。

+0

哈!我錯過了那條線的移除..我怎麼錯過了。謝啦。衛生署 – Nick 2012-02-18 05:32:39

相關問題