如何在jQuery post方法中捕获servlet响应?

时间:2016-12-14 11:14:18

标签: jquery

我想验证从servlet返回并在页面顶部显示而没有任何重定向的post响应文本。以下是为表单提交而实现的相同代码。

工作代码:

$('#btnSubmit').click(function () {
    var data = $('#formQuestion').serialize();
    $.post('/reports/htm/submit.do', data);
    confirmationPage();
});

在上面的代码中,我的请求参数填充了表单数据。

我增强了代码以显示状态栏。但是,增强的代码不起作用。我无法理解。请帮忙。

无效代码:

$('#btnSubmit').click(function () {
    var data = $('#formQuestion').serialize();
    $.post('/reports/htm/submit.do', function (data, status) {
        if (status === "Success") {
            alert(status);
            $('#message').css("display", "block");
            $('#message').css("background-color", "green");
            $('#message').text('Form Submission Success.');
        } else {
            alert(status);
            $('#message').css("display", "block");
            $('#message').css("background-color", "red");
            $('#message').text('Form Submission Failed.');
        }
        confirmationPage();
    });
});

在上面的代码中,我的请求参数为空。我无法弄清楚这里有什么问题?

尝试替代解决方案:

使用重定向

$('#btnSubmit').click(function () {
                $.ajax({
                    type: 'POST',
                    data: $('#formQuestion').serialize(),
                    url: '/reports/htm/submit.do',
                    success: function (data) {
                        $('#message').css("display", "block");
                        $('#message').css("background-color", "green");
                        $('#message').text('Form Submission Success.');
                    },
                    error: function () {
                        $('#message').css("display", "block");
                        $('#message').css("background-color", "red");
                        $('#message').text('Form Submission Failed.');
                    }
                });
            });

Servlet响应:

成功与失败

0 个答案:

没有答案