2017-05-20 13 views
0
<div class="tweet-modal-wrapper"> 
    <div class="tweet-modal w-clearfix"><a class="button-3 w-button" data-ix="hide-tweet-modal" href="#">X</a> 
     <h1 class="tweet-modal-heading">Compose new Tweet</h1> 
     <div class="tweet-modal-form-wrapper w-form"> 
      <form class="tweet-modal-form w-clearfix" id="tweet-form" method="POST" action="{{route('tweet')}}" > 

       <textarea class="tweet-modal-textarea w-input" id="tweet" name="tweet" placeholder="What&#39;s happening?" ></textarea> 

       {{--<input class="tweet-modal-image-button w-button" type="file" value="Photo">--}} 
       <button class="tweet-button tweet-modal-button w-button" type="submit" id="tweet-button"><span class="tweet-button-icon"></span>Tweet</button> 
      </form> 

     </div> 
    </div> 
</div> 
</div> 


<script> 
     $('#tweet-button').on('click',function(e){ 
    e.preventDefault(); 


    $.ajax({ 
     type:'post', 
     url:'/tweet', 
     headers: { 
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
     }, 
     data:{ 
      tweet: $('#tweet').val() 
     }, 
     success:function(){ 

      $('#tweet').val(''); 
      $(".success-alert").animate({bottom: '-=500'}).delay(4000).animate({bottom: '+=500'}); 
     }, 
     error: function(){ 
      alert("Error"); 
      $(".error-alert").animate({bottom: '-=500'}).delay(4000).animate({bottom: '+=500'}); 
} 

    }); 

}); 
</script> 

私のコントローラを投稿:Laravel AJAXエラー

public function store(Request $request) 
    { 
     $user = Auth::user(); 

     $input['tweet'] = $request['tweet']; 

     $input['user_id']=$user->id; 

     Tweet::create($input); 
    } 

ルートは:

Route::group(['middleware'=>'auth'],function() { 

    Route::post('/tweet', '[email protected]')->name('tweet'); 

    Route::get('/tweet',function(){ 

     return redirect()->route('home'); 

    }); 

}); 

これは、私が働いているものです。私のajaxからのエラーは毎回呼び出されます。最後の1時間半を費やしてそれを理解しようとしましたが、成功はありませんでした。私は私のajaxにcsrfトークンヘッダーを追加しました。フォームの{{csrf_field()}}でAJAXを使ってそれをしようとしましたが、それはまだ動作しません。 AJAXを使わずにフォームを提出しようとすると動作します。私はLaravel 5.2.29を使用しています。その場合、AJAXの 'tweet'の値はtextAreaHTMLObjectです。私はミドルウェアではないので、ログインしています。私はミドルウェアの外に移動し、それでも動作しませんでした。

+0

エラーは何ですか? – Sandeesh

+0

あなたのビューに 'を追加したかどうかを確認してください。 – Sandeesh

+0

トークンがありませんでした。お手伝いありがとう!すべてが今働きます。 – kalvin

答えて

0

トークンメタタグが表示されません

+0

'meta'タグが見つからなかったソースコードの一部を含めることで、あなたの答えをもう少し詳しく解説できますか? – RBT