如何在使用 AJAX Post时获取Controller Codeigniter中的一个或两个数据值

b5lpy0ml  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(111)

有人可以帮助我与我的代码,我有 AJAX json类型的POST,我想得到一个或两个数据发送到控制器在codeigniter,我想添加条件函数的数据从json.
我的JSON

$('#add_people').submit(function(e){
   e.preventDefault();
    var id_people = $('#id_people').val();
    var name_people = $('#name_people').val();
    var phone_people = $('#phone_people').val();
    $.ajax({
        type : "POST",
        url  : "<?php echo base_url('add_people_data')?>",
        dataType : "JSON",
        data : {id_people:id_people , name_people:name_people, phone_people:phone_people},
        success: function(data){
            $("#show_people").html('<img src="assets/img/user/spinner.gif"> <h4>Loading data...</h4>');
            $('#modal-add_people').modal('hide');
            $('.modal-backdrop').remove();
            $('[name="id_people"]').val("");
            $('[name="name_people"]').val("");
            $('[name="phone_people"]').val("");
            var loadUrl = "<?php echo base_url('show-people-data')?>";
            $("#show_people").load(loadUrl);
        }
    });
    return false;
});

我的控制器

public function add_people_data()
        {
    $id_people = $this->input->post('id_people');
    $name_people = $this->input->post('name_people');
    $phone_people = $this->input->post('phone_people');
    
    $cekassignreviewer=$this->Model_reviewer->checkassignreviewer('data_people', $id_people, $name_people, $phone_people);
    
    if ($cekassignreviewer > 0) {
        $this->session->set_flashdata('failed',
        "<script>swal({
            title:'Failed!',
            text: 'Number of people has been added',
            icon: 'error',
            confirmButtonText: 'Ok',
            confirmButtonClass: 'btn btn-success'
        });
        </script>");
        redirect(base_url('setting-reviewer'));
    }else{
        $data=$this->Model_reviewer->add_people();
        echo json_encode($data);
    }

我的模型

function add_people()
{
    $data = array(
            'id_people'    => $this->input->post('uniid_reviewer'), 
            'name_people'   => $this->input->post('name_people'), 
            'phone_people'   => $this->input->post('phone_people'), 
        );
    $result=$this->db->insert('data_people',$data);
    return $result;
}

先谢谢你了

4xrmg8kj

4xrmg8kj1#

代码触发器4的传入请求类

如果您不在控制器中,但仍需要访问应用程序的Request对象,则可以通过Services类获取该对象的副本:

$request = \Config\Services::request();

使用CodeIgniter的内置方法,您可以简单地执行以下操作:

$something = $request->getVar('foo');

getVar()方法将从$_REQUEST提取数据,因此将返回$_GET$_POST$_COOKIE中的任何数据。虽然这样做很方便,但您通常需要使用更具体的方法,例如:

$request->getGet()
$request->getPost()
$request->getServer()
$request->getCookie()

此外,还有一些实用方法可以从$_GET$_POST检索信息,同时保持控制查找顺序的能力:

$request->getPostGet() - checks $_POST first, then $_GET
$request->getGetPost() - checks $_GET first, then $_POST

相关问题