处理Ajax请求(成功,错误消息)

时间:2017-03-06 18:33:21

标签: jquery ajax laravel laravel-5 laravel-5.3

通常我不会使用ajax和laravel工作,但在我的laravel应用程序中,我需要做一些ajax请求,并处理错误和反馈。我看到了许多材料,但是我从后端到前端(php和js)看起来正确和最好的方式。

这是我的代码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和ajax之间的请求。

1 个答案:

答案 0 :(得分: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', 'YourController@store');