首页 > 解决方案 > 控制器方法未检测到任何参数

问题描述

我正在尝试在我的 url 中发送一个 id,但我的控制器没有得到那个值

$("#ChangeSlideForm").on("submit", function(){

          $.ajax({
            type: "POST",
            url: base_url + "Visualiser/ChangeSlide/21",
            success: function (response) {
              alert(response);
                // $("#deleteConfirm").modal('hide');
                // jQuery(function RefreshPageAdd($){
                //     $('#deleteConfirm').on('hidden.bs.modal', function (e) {
                //       location.reload();
                //     });
                // });

            }
          });
        });

我的观点

<div id="bodyChange" class="modal-body">
  <form id = "ChangeSlideForm" action="<?php echo base_url() ?>Visualiser/ChangeSlide" enctype="multipart/form-data" method="post" accept-charset="utf-8">
  <label class="btnSlide btn btn-outline-success">
    Zip <input class="file" name="file[]" type="file" hidden>
  </label>
  <label class="btnSlide btn btn-outline-success">
    Csv <input class="file" name ="file[]" type="file" hidden>
  </label>
  </div>
  <div class="modal-footer">
  <div class="col-md-12 text-center"> 
    <button type="submit" class="btn btn-primary col-md-6">Ajouter</button>
  </div>
  </form>

我的控制器标题:

    public function ChangeSlide($id){
     print_r($id);
    }

当我将 id 直接放在 url 中时,可以访问参数,否则当我使用 ajax 传递时,它不会检测到参数。

标签: javascriptphpajaxcodeigniter

解决方案


尝试这个:-

的HTML

<form id="ChangeSlideForm" action="<?php echo base_url() ?>Visualiser/ChangeSlide/21" enctype="multipart/form-data" method="post" accept-charset="utf-8">
  <div id="bodyChange" class="modal-body">
    <label class="btnSlide btn btn-outline-success"> Zip
      <input class="file" name="file[]" type="file" hidden>
    </label>
    <label class="btnSlide btn btn-outline-success"> Csv
      <input class="file" name="file[]" type="file" hidden>
    </label>
  </div>
  <div class="modal-footer">
    <div class="col-md-12 text-center">
      <button type="submit" class="btn btn-primary col-md-6">Ajouter</button>
    </div>
  </div>
</form>

剧本:

<script type="text/javascript">
$(document).ready(function(){ 
    $("#ChangeSlideForm").on("submit", function(e){
        e.preventDefault();
        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            data    : $(this).serializeArray(), 
            success : function(data)
            {
                console.log(data)
            },
            error: function (xhr)
            {
                console.log(xhr)
            }
        });
    });
})
</script>

推荐阅读