【问题标题】:Delete data using modal box in laravel在 laravel 中使用模态框删除数据
【发布时间】:2015-07-14 16:42:59
【问题描述】:

我在 laravel 中通过确认(在本例中使用模态框)删除数据时遇到了一些问题。

这是我的删除按钮

{{ Form::open(array(
                                'route' => array('delete_spk', $spk_data->id),
                                'method' => 'put',
                                'style' => 'display:inline'
                                ))
                            }}
                            <button class="btn btn-danger btn-line btn-rect" type="submit" data-toggle="modal" data-target="#delSpk" data-title="Delete SPK" data-message='Are you sure you want to delete this data ?'>
                            <i class="icon-trash icon-white"></i> Delete</button>
                            {{ Form::close() }}

这是模态框

<!--MODAL DELETE SPK-->
<div class="col-lg-12">
                        <div class="modal fade" id="delSpk" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                                <div class="modal-dialog">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                            <h4 class="modal-title" id="H4"> Delete SPK</h4>
                                        </div>
                                        <div class="modal-body">
                                        <p class="help-block">Are you sure you want to delete this data ?</p>
                                        </div>
                                        <div class="modal-footer">
                                       <button type="button" class="btn btn-danger btn-line btn-rect" id="confirm">Yes</button>
                                        <button type="button" class="btn btn-primary btn-line btn-rect" data-dismiss="modal">No</button>
                                        </div>

                                    </div>
                                </div>
                            </div>
                        </div>
<!--END OF MODAL DELETE SPK-->

<!-- Dialog show event handler -->
<script type="text/javascript">
  $('#delSpk').on('show.bs.modal', function (e) {
      $message = $(e.relatedTarget).attr('data-message');
      $(this).find('.modal-body p').text($message);
      $title = $(e.relatedTarget).attr('data-title');
      $(this).find('.modal-title').text($title);

      // Pass form reference to modal for submission on yes/ok
      var form = $(e.relatedTarget).closest('form');
      $(this).find('.modal-footer #confirm').data('form', form);
  });

  <!-- Form confirm (yes/ok) handler, submits form -->
  $('#delSpk').find('.modal-footer #confirm').on('click', function(){
      $(this).data('form').submit();
  });
</script>

这是路线

Route::get('spk/destroy/{id}', array('as'=&gt;'delete_spk','uses'=&gt;'SpkController@destroy'));

这是删除数据的控制器

public function destroy()
	{
		$spk= Spk::find(Input::get('id'))->delete();
        Session::flash('message', 'Successfully deleted the SPK !');
        return Redirect::to('spk_view');
	}

模式框正在工作,但是当我获取要删除的 ID 时,这将以“方法不允许 http 异常”的结果结束。有人能帮助我吗?

【问题讨论】:

    标签: laravel controller routes modal-dialog


    【解决方案1】:

    出现此问题是因为您已将路由定义为 GET,但将表单提交为 PUT

    如果你定义你的路线如下,那么它必须工作

    Route::put('spk/destroy/{id}', array('as'=>'delete_spk','uses'=>'SpkController@destroy'));
    

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 2015-07-30
      • 2019-03-01
      • 1970-01-01
      • 2020-07-07
      相关资源
      最近更新 更多