【问题标题】:Laravel Bootstrap-Modal TokenMismatchLaravel Bootstrap-Modal TokenMismatch
【发布时间】:2016-08-27 06:17:11
【问题描述】:

我在 Laravel 中使用 Bootstrap-Modal 遇到了问题。

简单的模态效果很好,但是当我使用“基于变化的模态内容”时, 我得到一个错误:

我主要的这个脚本:

$('#renameModal').on('show.bs.modal', function (event) {
      var button = $(event.relatedTarget) 
      var recipient = button.data('entity_input') 
      var entity = button.data('entity')
      var modal = $(this)
      modal.find('.modal-body input').val(recipient)
    })

产生此错误:

VerifyCsrfToken.php 第 67 行中的 TokenMismatchException

我的代码中有一行:{!! csrf_field() !!},但是当我 使用JQuery-Script,它不起作用。

有人知道如何解决这个问题吗??

模式代码:

<div class="modal fade" id="renameModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
                  <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">Umbenennen</h4>
                  </div>
                  <div class="modal-body">
                    <form action="{{ url('user_rename/'.$user[0]->id) }}" method="POST">
                       {!! csrf_field() !!}
                       <input type="text" class="form-control" id="recipient-name">
                  </div>
                  <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Abbrechen>
                    <button type="submit" id="rename-user{{ $user[0]->id }}" class="btn btn-primary">Speichern</button>
                  </div>
                  </form>
                </div>
              </div>
            </div>

抱歉格式错误 ;-(

【问题讨论】:

  • 显示模态代码
  • 如果您将 url 修改为 /user_rename 而不是 user_rename,它会改变吗?

标签: jquery laravel modal-dialog token bootstrap-modal


【解决方案1】:

这是因为您正在更改隐藏的 csrf 令牌的值。

modal.find('.modal-body input').val(recipient)

{!! csrf_field() !!} 产生类似这样的东西,并且在您的 input#recipient-name

之上
<input type="hidden" name="_token" value="some-random-token">

在您的 Javascript 中将 modal.find('.modal-body input') 更改为 modal.find('.modal-body input#recipient-name')。还值得注意的是,您没有为收件人姓名输入提供实际的字段名称。

【讨论】:

    猜你喜欢
    • 2017-10-14
    • 2021-07-27
    • 2018-04-24
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2015-06-05
    相关资源
    最近更新 更多