Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery ajax函数:何时.失败将切换?_Jquery_Ajax_Laravel - Fatal编程技术网

jquery ajax函数:何时.失败将切换?

jquery ajax函数:何时.失败将切换?,jquery,ajax,laravel,Jquery,Ajax,Laravel,我有一个web程序将返回一个json,例如:{“name”:[“name字段是必需的。”]},这是错误消息,它应该通过.fail部分中的以下jquery脚本发出警报,但从未到达.fail部分 $(function() { $('textarea').summernote({height: 250}); $('form').submit(function(event) { event.preventD

我有一个web程序将返回一个json,例如:{“name”:[“name字段是必需的。”]},这是错误消息,它应该通过.fail部分中的以下jquery脚本发出警报,但从未到达.fail部分

        $(function() {
            $('textarea').summernote({height: 250});
            $('form').submit(function(event) {

                event.preventDefault();
                var form = $(this);

                if (form.attr('id') == '' || form.attr('id') != 'fupload'){
                    $.ajax({
                          type : form.attr('method'),
                          url : form.attr('action'),
                          data : form.serialize()
                          }).success(function() {
                              setTimeout(function() {
                                  parent.$.colorbox.close();
                                  //window.parent.location.reload();
                                  }, 10);
                        }).fail(function(jqXHR, textStatus, errorThrown) {
                            // Optionally alert the user of an error here...
                            var textResponse = jqXHR.responseText;
                            var alertText = "One of the following conditions is not met:\n\n";
                            var jsonResponse = jQuery.parseJSON(textResponse);

                            $.each(jsonResponse, function(n, elem) {
                                alertText = alertText + elem + "\n";
                            });
                            alert('test1');
                            alert(alertText);
                        });
                    }
                else{
                    alert('test1.5');
                    var formData = new FormData(this);
                    $.ajax({
                          type : form.attr('method'),
                          url : form.attr('action'),
                          data : formData,
                          mimeType:"multipart/form-data",
                          contentType: false,
                          cache: false,
                          processData:false
                    }).success(function() {
                          alert('test1.6');
                          setTimeout(function() {
                              parent.$.colorbox.close();
                              //window.parent.location.reload();
                              }, 10);

                    }).fail(function(jqXHR, textStatus, errorThrown) {
                        // Optionally alert the user of an error here...
                        var textResponse = jqXHR.responseText;
                        var alertText = "One of the following conditions is not met:\n\n";
                        var jsonResponse = jQuery.parseJSON(textResponse);

                        $.each(jsonResponse, function(n, elem) {
                            alertText = alertText + elem + "\n";
                        });
                        alert('test2');
                        alert(alertText);
                    });
                };
            });

            $('.close_popup').click(function() {
                parent.$.colorbox.close()
                //window.parent.location.reload();
            });
        });
每个人都知道需要什么才能使上述脚本正常工作

------更新------- 后端是laravel,因为我不想使用自定义请求类

public function postEdit(Request $request, $id)
{

    $input = $request->all();
    $name = $input['name'];

    $rules = array('name' => 'required|max:255');
    $message = array('name.required' => 'The :attribute field is required.');

    $validator = Validator::make($input, $rules, $message);

    if ($validator->fails()) {

        return $validator->messages()->toJson();


    }
}
如果我使用自定义请求类,它将返回422(不可处理实体)


是否进入成功块?警报('test1.6');我的意思是说ajax可以成功也可以失败。因此,如果它没有失败,我假定它是成功的,那么您是否在成功块中看到了警报?警报('test1.6')在里面。成功(如果您的脚本达到执行警报('test1.6')的点,这意味着您的ajax调用是成功的。如果ajax调用返回数据,无论它是什么数据,都是成功的。
<?php namespace App\Http\Requests\Admin;

use Illuminate\Foundation\Http\FormRequest;

class VendorRequest extends  FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required',
        ];
    }
}