簡體   English   中英

Codeigniter如何在控制器中接收ajax發布數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM