<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'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です。私はミドルウェアではないので、ログインしています。私はミドルウェアの外に移動し、それでも動作しませんでした。
エラーは何ですか? – Sandeesh
あなたのビューに 'を追加したかどうかを確認してください。 – Sandeesh
トークンがありませんでした。お手伝いありがとう!すべてが今働きます。 – kalvin