代码之家  ›  专栏  ›  技术社区  ›  maximus1127

带Laravel 5.6的Ajax Post

  •  1
  • maximus1127  · 技术社区  · 6 年前

    我不知道如何让这个Ajax请求发布。

         <button class="btn btn-sm btn-primary" id="ajaxSubmit">Submit</button>
    
          <textarea rows="4" class="form-control resize_vertical" id="application_notes" name="application_notes" placeholder="Notes">{{$application->notes}}</textarea>
    
    
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
      var url = "/instructor-notes-save/{{$application->id}}"
          $(document).ready(function(){
             $('#ajaxSubmit').click(function(e){
                   e.preventDefault();
                   $.ajaxSetup({
                      headers: {
                          'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                      }
                  });
                $.ajax({
    
                      url: url,
                      method: 'post',
                      data: {
                         application_notes: jQuery('#application_notes').val(),
                      },
                      success: function(response){
                         console.log(response);
                      }});
                   });
                });
    </script>
    

    我的控制器是:

    public function saveNotes(Request $request, $id)
        {
          $application = Application::findOrFail($id);
          $application->notes = $request->application_notes;
          $application->save();
          return response()->json(['success'=>'Data is successfully added']);
        }
    

    值得一提的是,我的路线是:

    Route::post('/instructor-notes-save/{id}', 'InstructorsController@saveNotes')->name('instructor.save.note');
    

    要使这个Ajax请求工作,我缺少什么?在控制台日志中,我得到一个419未知状态错误。

    2 回复  |  直到 6 年前
        1
  •  1
  •   aceraven777    6 年前

    请检查元标签 _token 存在于布局文件中 <head> 标签。

    另外,请确保路由文件中存在Ajax URL。

        2
  •  0
  •   Pedro Siqueira    6 年前

    在HTML中添加以下标记 <head> :

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