我正在尝试使用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
THX!
答案 0 :(得分:7)
更改你的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');
}
我希望这对你有用......
答案 1 :(得分:3)
在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');
}
我认为这是有效的:)
答案 2 :(得分:1)
主页是控制器名称, 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'),
);
}