Codeigniter如何在控制器中接收ajax发布数据

我正在尝试使用CodeIgniter来开发我项目的前端客户端。

但是带有CI的ajax让我很困惑。

这是我的ajax:

$.ajax({ url : "welcome/login" type : "POST", dataType : "json", data : {"account" : account, "passwd" : passwd}, success : function(data) { // do something }, error : function(data) { // do something } }); 

和控制器:

 public function login() { $data = $this->input->post(); // now I can get account and passwd by array index $account = $data["account"]; $passwd = $data["passwd"]; } 

现在我可以通过数组索引获取帐户和密码,但是如何将接收的数据转换为Object,这样我就可以获得如下属性: $data->account

谢谢!

改变你的ajax:

 $.ajax({ url : "welcome/login" type : "POST", dataType : "json", data : {"account" : account, "passwd" : passwd}, success : function(data) { // do something }, error : function(data) { // do something } }); 

更改您的控制器:

 public function login() { //$data = $this->input->post(); // now I can get account and passwd by array index $account = $this->input->post('account'); $passwd = $this->input->post('passwd'); } 

我希望这对你有用……

在ajax请求中请使用base_url(’welcome / login’),就像这样

 $.ajax({ url : "" type : "POST", dataType : "json", data : {"account" : account, "passwd" : passwd}, success : function(data) { // do something }, error : function(data) { // do something } }); 

在控制器中使用这样的

 public function login() { $account = $this->input->post('account'); $passwd = $this->input->post('passwd'); } 

我认为这是工作:)

Home是控制器名称, login_data_submit是函数名称

 $.ajax({ data:{'userName':userName,'loginpassword':loginpassword}, url:'index.php/Home/login_data_submit', type:'post', success:function(data) { alert(data); }); 

控制器就像

 public function login_data_submit(){ $data=array( 'username'=>$this->input->post('userName'), 'loginpassword'=>$this->input->post('loginpassword'), ); }