我的模态对话框表单未使用Ajax提交给php中的控制器

时间:2018-06-21 05:05:05

标签: php ajax codeigniter codeigniter-3

在模式对话框中,提交值不会传递到我的控制器中

function save()
{
    var url;
    url = "<?php echo site_url('index.php/User/book_update')?>";
    $.ajax({
        url : url,
        type: "POST",
        data: $('#form').serialize(),
        dataType: "JSON",
        success: function(data)
        {
            $('#modal_form').modal('hide');
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error adding / update data');
        }
    });
}

在提交表单按钮时仅无响应显示错误添加/更新数据

            public function book_update()
            {
            $markid= $this->input->post('markid');
            $subcode=$this->input->post('subcode');
            echo $markid;
            echo $subcode;
            }

1 个答案:

答案 0 :(得分:0)

希望这对您有帮助

您的url应该是这样的:

url = "<?php echo site_url('User/book_update')?>";

代替这个:

url = "<?php echo site_url('index.php/User/book_update')?>";

js函数应如下所示:

function save()
{
    var url;
    url = "<?php echo site_url('User/book_update')?>";
    $.ajax({
        url : url,
        type: "POST",
        data: $('#form').serialize(),
        dataType: "JSON",
        success: function(data)
        {
            $('#modal_form').modal('hide');
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error adding / update data');
        }
    });
}

您的控制器的book_update方法应如下所示:

public function book_update()
{
   $markid = $this->input->post('markid');
   $subcode = $this->input->post('subcode');
   $array = array('markid' => $markid);
   echo json_encode($array);
   exit;
}