2016-11-15 53 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

相關問題