2017-03-06 95 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

编辑答案.. @佩德罗 –