发布时出现Laravel AJAX错误

时间:2017-05-20 16:11:23

标签: jquery ajax laravel-5.2

<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>

我的控制器:

  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', 'TweetsController@store')->name('tweet');

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

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

    });

});

这就是我正在使用的。每次调用我的ajax错误。花了最后一个半小时试图找出它但没有成功。我将csrf标记头添加到我的ajax中。尝试使用AJAX在表单中使用{{csrf_field()}}来完成它并且它仍然无法工作。试图提交没有AJAX的表格,它的工作原理。我正在使用Laravel 5.2.29。推文的价值&#39;在我的AJAX中是一个textAreaHTMLObject,如果这很重要的话。我已登录,因此无法成为中间件。我把它移到中间件之外,它仍然没有用。

1 个答案:

答案 0 :(得分:0)

视图中缺少令牌元标记