2016-11-15 43 views
1

对不起,如果它已被问。但是无论如何我永远无法做到这一点。在使用laravel提交表单进行处理时,在compiled.php中使用tokenmismatchexception?

我创建了表单数据存储到数据库中的一个形式,下面是我创建的形式,它给了我tokenmismatchexception在compiled.php,我试图解决的错误。

@extends('main') 
@section('title','| Create Post') 
@endsection 
@section('stylesheet') 
<link href="../css/parsley.css" rel="stylesheet" type="text/css"> 
@endsection 
@section('content') 
<div class="row"> 
    <div class="col-md-8 col-md-offset-2"> 
     <h1>Create New Post</h1> 
     <hr/> 
     <form action="{{ route('posts.store') }}" method="POST" data-parsley-validate> 
      <div class="form-group"> 
       <div class="form-group"> 
        <label name="title">Title:</label> 
        <input id="title" name="title" class="form-control" data-parsley-required="true" data-parsley-maxlength="255"> 
       </div> 
       <div class="form-group"> 
        <label name="body">Post Body:</label> 
        <textarea id="body" name="body" class="form-control" data-parsley-required="true"></textarea> 
       </div> 
       <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
       <input type="submit" class="btn btn-success btn-lg btn-block" value="Save Post"> 
      </div> 
     </form> 
    </div> 
</div> 
@endsection 

@section('scripts') 
    <script src="../js/parsley.min.js" type="text/javascript"></script> 
@endsection 

我曾尝试:

1)尝试添加隐藏字段与csrf_token

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 
+0

可以告诉你我们是一个例外的屏幕? – WebFreak

+0

你使用哪个laravel版本? – manniL

+0

,因为我有较少的声誉,我不能在这里上传图片,但点击这个[点击这里](https://postimg.org/image/y3eyhrtp3/),看到我得到的错误,我对第三上传错误图像派对网站。 –

回答

0

这就像你要提交使用Ajax表单值,所以你不得不这样做

添加meta标签:

<meta name="csrf-token" content="{{ csrf_token() }}"> 

添加标题,你的Ajax设置:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
+0

我从未在我的表单中使用过任何类型的ajax实现,它是简单的html表单。 –

+0

你可以验证检查你的输入,“_token”输入包含一个标记 – WebFreak

+0

这就是当我检查窗体时得到的:'' –

0

只使用 <input type="hidden" name="_token" value="{{ csrf_token() }}">只有经过一次<form>开始标记,多数民众赞成意味着

@section('content') 
<div class="row"> 
    <div class="col-md-8 col-md-offset-2"> 
     <h1>Create New Post</h1> 
     <hr/> 
     <form action="{{ route('posts.store') }}" method="POST" data-parsley-validate> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
      <div class="form-group"> 
       <div class="form-group"> 
        <label name="title">Title:</label> 
        <input id="title" name="title" class="form-control" data-parsley-required="true" data-parsley-maxlength="255"> 
       </div> 
       <div class="form-group"> 
        <label name="body">Post Body:</label> 
        <textarea id="body" name="body" class="form-control" data-parsley-required="true"></textarea> 
       </div> 

       <input type="submit" class="btn btn-success btn-lg btn-block" value="Save Post"> 
      </div> 
     </form> 
    </div> 
</div> 
@endsection 

添加在HTML头部

<html> 
    <head> 
     <meta name="_token" content="{{ csrf_token() }}"/> 
    </head> 

    <body> 
    </body> 

    </html> 
+0

没有没有用,我不知道如何通过改变隐藏字段的位置来使我的代码工作:\ –

+0

您是否使用这个 <元名称=” 视口”内容= “宽度=设备宽度,初始规模= 1.0”> <元名称= “_标记” CONTENT = “{{csrf_token()}}”/> ?? – Borna

+0

如果不是则u可以添加<元名称=“_标记” CONTENT =“{{csrf_token()}}” />此线在HTML头部 – Borna

相关问题