【问题标题】:ajax checkbox not passing my data to controller in codeigniterajax复选框没有将我的数据传递给codeigniter中的控制器
【发布时间】:2017-02-23 12:56:36
【问题描述】:

我正在尝试使用带有 ajax 的复选框更新我的数据库数据。当我单击复选框时,该复选框正在运行,提示成功消息。但没有将数据传递给我的控制器。我不知道在哪里找到我的错误。我试图弄清楚如何检查数据是否传递给我的控制器。

有人可以帮助我吗?

查看

$checked = FALSE;
if($result->consignment == 1) { $checked = TRUE; }
    $data = array(
        'value'   => $result->id, 
        'onClick' => 'incoming_CheckboxState();',
        'class'   => 'incoming',
        'checked' => $checked
    );
echo form_checkbox($data);?> Incoming

ajax

function incoming_CheckboxState() {
  if ($('.incoming').is(':checked')) {

    var id = $('.incoming').val();
    var yes = 1;                
    $.ajax({
        type: "POST",
        url: "<?=based_url(); ?>user_accounts/update_permission",
        data: { user_id : id, status : yes },
        success: function(msg) {
            alert("Activated");
        }
    });
  } 
}

控制器

public function update_permission(){
    $data = array(
       'id' => $this->input->post('user_id'),
        'status' => $this->input->post('status')
    );
    $this->user_accounts_model->incoming($data);
}

型号

public function incoming($data){
    $this->db->set('consignment', $data['status'])
             ->where('id', $data['id'])
             ->update('users');
}

【问题讨论】:

    标签: php jquery codeigniter


    【解决方案1】:

    做这些

    1. 更改 AJAX 网址

      url: "<?=base_url()?>user_accounts/update_permission"
      
    2. 设置你的base_url.(application/config/config.php)

      $config['base_url'] = 'http://stackoverflow.com/';
      

    【讨论】:

    • 这是我的 base_url = $config['base_url'] = '';
    • 不要将基本 URL 留空。填写它
    • 如果基于的url为空会有什么影响?我在教程中看到他们把它变成空的。我应该输入什么网址?
    • 在 CI3 中 URL 是必须的,否则你的程序可能会被 URL 注入攻击。基本 url 应该是你的根文件夹的路径。(外部应用程序文件夹..)
    • 例如我的主文件夹是 ci_attl
    【解决方案2】:
    url: "<?=based_url()?>./user_accounts/update_permission",
    

    应该是(您在 config.php 中的基本 url 应该设置一个斜杠):

    url: "<?= base_url(); ?>user_accounts/update_permission",
    

    你从哪里得到的。来自?

    打开您的检查器,进入网络并单击 XHR 以监控正在发出的 ajax 请求(这样您就可以查看是否发出了请求以及您的帖子数据是否也在那里)。

    【讨论】:

    • 它仍然无法正常工作,在我的网络中,我有表单数据 user_id: 1 status: 1 ,,
    • http://[::1]/ci_attl/user_accounts/user_permission/%3C?=based_url();?%3E/user_accounts/update_permission 这是请求网址
    • @GeninaAnneGabuten 似乎您的基本网址设置不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多