【问题标题】:Handling Ajax requests (success, errors messageS)处理 Ajax 请求(成功、错误消息)
【发布时间】:2017-07-26 18:14:31
【问题描述】:

通常我不太使用 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 之间的请求。

【问题讨论】:

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


    【解决方案1】:

    这是我如何使用 ajax 在 laravel 中发出 post 请求...

    $("#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');
    

    【讨论】:

    • 你在 laravel 控制器上是如何处理的?
    猜你喜欢
    • 2020-06-11
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多