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'), ); }