Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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!

like image 238
Leon Avatar asked Dec 08 '22 21:12

Leon


1 Answers

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...

like image 180
Abdullah Umar Babsel Avatar answered Dec 11 '22 09:12

Abdullah Umar Babsel