我想验证从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响应:
成功与失败