2017-03-06 94 views
1

通常我不工作,與很多Ajax和laravel,但在我laravel程序,我需要做出一些Ajax請求,並處理錯誤和反饋。我看到很多材料,但尋找合適的IM和最好的方式,從後端到前端(PHP和JS)hadling。處理Ajax請求(成功,錯誤消息)

這裏是我的代碼JS:

$(function() { 

      $('.send').click(function(event){ 

       event.preventDefault(); 

       $.ajax({ 
        url: "{{url('admin/posts/ajax')}}", 
        type: "post", 
        data: {'name':$('#name').val(), 'surname':$('#surname').val(), '_token': $('input[name=_token]').val()}, 
        success: function(data){ 
         console.log("sucess"); 
        } 
       }); 
      }); 

     }); 
    </script> 

控制器:

public function storeAjax(Request $request) 
    { 

     $validator = Validator::make($request->all(), [ 
      'name'    => 'required', 
      'surname'   => 'required' 
     ]); 
     if ($validator->fails()) { 
      return response()->json($validator->messages(), 200); 
     } 

    } 

不過是給我500錯誤,所以希望有人能指導我的最好的方式處理laravel和阿賈克斯之間的請求。

回答

0

這裏是如何使用AJAX來使laravel後的請求......

$("#form-id").submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url: "url", //not the complete url, in your case it would be "admin/posts/ajax" 
     type: "POST", 
     data: new FormData(this), 
     contentType: false, 
     cache: false, 
     processData:false, 
     success: function(data){ 

      console.log("success"); 

     }, 
     error: function(data){ 
      var errors = data.responseJSON; 
      //print the errors 
     }   
    }); 
}); 

,如何處理它的控制器

public function store(Request $request) 
{ 

    // Validate the request... 
    $this->validate($request, [ 
     'name' => 'required', 
     'email' => 'email|required', 
    ]); 

    //store data into database 

    //return some data if required 
} 

路線應該是..

Route::post('store', '[email protected]'); 
+0

怎麼TDO您處理laravel控制器上? – Pedro

+0

編輯答案.. @佩德羅 –