简体   繁体   中英

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!

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

In ajax request pls use base_url('welcome/login'), like 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
        }
    });

Use like this in controller

public function login() {
    $account = $this->input->post('account');
    $passwd = $this->input->post('passwd');
}

I think this is work :)

Home is the controller name and login_data_submit is the function name

$.ajax({
        data:{'userName':userName,'loginpassword':loginpassword},
        url:'<?php echo base_url(); ?>index.php/Home/login_data_submit',
        type:'post',
        success:function(data) {
            alert(data);
        });

Controller like

public function login_data_submit(){
        $data=array(

            'username'=>$this->input->post('userName'),
            'loginpassword'=>$this->input->post('loginpassword'),
        );
            }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM