使用laravel中的模态框删除数据

时间:2015-05-05 05:06:22

标签: laravel controller routes modal-dialog

我在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() }}
&#13;
&#13;
&#13;

这是模态框

&#13;
&#13;
<!--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>
&#13;
&#13;
&#13;

这是路线

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

这是用于删除数据的控制器

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

模态框正在运行,但是当我要删除ID时,这将结束结果&#34;方法不允许http异常&#34;。有谁可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

发生此问题的原因是您已将路由定义为GET,但将表单提交为PUT

如果您按照以下方式定义路线,那么它必须正常工作

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