[英]How does Codeigniter receive the ajax post data in controller
我正在嘗試使用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 : "<?php echo base_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 : "<?php echo base_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() {
$account = $this->input->post('account');
$passwd = $this->input->post('passwd');
}
我認為這是工作:)
Home是控制器名稱, login_data_submit是函數名稱
$.ajax({
data:{'userName':userName,'loginpassword':loginpassword},
url:'<?php echo base_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'),
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.