jquery中ajax(),表单没填写,后端返回验证信息“表单不能为空”,这个信息属于done()还是fail()?

发布于 2022-09-02 01:48:43 字数 2766 浏览 21 评论 0

jquery中ajax(),表单没填写,后端返回验证信息“表单不能为空”,这个信息属于done()还是fail()?
能不能顺带讲一下哪些属于done(),哪些属于fail()?
下面是demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <link href="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/tether/1.1.1/css/tether.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <form name="form1" id="form1">
        <fieldset class="form-group">
            <label for="title">title</label>
            <input type="text" id="title" class="form-control" placeholder="">
        </fieldset>
        <fieldset class="form-group">
            <label for="content">content</label>
            <textarea id="content" class="form-control" rows="3"></textarea>
        </fieldset>
        <fieldset class="form-group">
            <label for="photo">photo</label>
            <input type="file" id="photo" name="photo" accept="image/*" class="form-control-file">
        </fieldset>
        <button id="submit" type="submit" class="btn btn-primary">Submit</button>
    </form>
</div>
<script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/tether/1.1.1/js/tether.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>
<script>
    $(function () {
        var data = new FormData($('#form1')[0]);

        $("#submit").click(function () {

            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });

            $.ajax({
                url: "{{ url('article/') }}",
                type: 'POST',
                data: data,
                dataType: 'JSON',
                cache: false,
                processData: false,
                contentType: false
            }).done(function (data) {
                console.log(data);

                //jquery接收处理返回字段“不能为空”的代码写在这里?
            }).fail(function (jqXHR, textStatus) {
                console.log(jqXHR);
                console.log(textStatus);

                //jquery接收处理返回字段“不能为空”的代码写在这里?
            });
        });
    });
</script>
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

半透明的墙 2022-09-09 01:48:43

得看http的status

久夏青 2022-09-09 01:48:43

done()

甜警司 2022-09-09 01:48:43

这个是 promise 规范范畴,对于不可预测的、无法处理的错误都用 fail

我一般是拿来处理服务器错误或者网络问题的,其余的错误都通过 code 来判断

呆头 2022-09-09 01:48:43

?看状态码,以你的描述,应该是done

盛装女皇 2022-09-09 01:48:43

看你自己的定义了啊!已经返回表单不能为空,说明你已经提交到后台了!但是由于你没有填写表单,所以返回提示!这一次的ajax提交事件成功了!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文