Codeigniter如何在控制器中接收ajax post数据

新手上路,请多包涵

我正在尝试使用 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"];
}

现在我可以通过数组索引获取帐户和密码,但是如何将接收到的数据转换为对象以便我可以获得如下属性: $data->account

谢谢!

原文由 Leon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 402
2 个回答

改变你的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');
}

我希望这对你有用……

原文由 Abdullah Umar Babsel 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

我认为这是工作:)

原文由 Rajindra Prabodhitha 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏