JasonGan JasonGan - 2 months ago 10
Ajax Question

How does Codeigniter receive the ajax post data in controller

I'm trying to use CodeIgniter to develop the front-end client of my project.

But the ajax with CI make me confused.

Here is my ajax:

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


And the controller:

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


Now I can get account and password by array index, but how can I convert received data to Object so I can get the property like:
$data->account


Thx!

Answer

Change your ajax this:

$.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
        }
    });

Change your controller this:

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

I hope this work for you...