【发布时间】:2019-10-29 15:46:20
【问题描述】:
各位程序员,大家好!
我写信给你是为了请求一些关于我最近遇到的问题的帮助。问题如下:
1) 我有一个 ajax 请求,用 jQuery 实现。
2) 在返回成功响应后,脚本应重新加载相应更改的页面,如果有任何验证错误,请将其插入隐藏字段之后,用于存储非关键杂项数据。如果有任何验证错误,则不会保存更改,页面只是重新加载验证错误消息。验证本身由 servlet 负责。
3) 我注意到在实际附加错误消息之前出现任何类型的 alert() 时一切正常,但我不希望出现这样的警报。
这是 JavaScript 代码:
$('#randomFormElement').submit(function() {
$(this).ajaxSubmit({
success: function (data, status) {
randomFunctionToReloadThePage(arg1, arg2, arg3);
var errors = $(data).find('.classNameOfTheErrors').xml();
//alert(something);
$(errors).insertAfter('#idOfTheHiddenField');
},
error: function (jqXHR, textStatus, thrownError) {
//Error handling if the ajax response fails.
}
});
});
所以,主要问题是:alert() 是怎么让它工作的?
===========================
在 Chrome 上,这两种方法都不起作用。
在 FF 上,它仅在存在一些 alert() 时才起作用。
提前致谢!
【问题讨论】:
-
randomFunctionToReloadThePage是做什么的?如果它的任何部分是异步的,则警报引入的延迟可能会有所不同。 -
作为旁注。如果您在 ajax 请求后重新加载页面?那你为什么首先执行一个ajax请求。为什么不提交整个页面,然后您就不必重新加载它。
-
在 ajax 调用完成之前您的页面是否已刷新?您是否尝试通过 ajax 提交表单?
-
到问题本身:执行 insertAfter 时您的页面是否完全重新加载?
-
@roel:我只重新加载页面的一部分,而不是整个页面。
标签: javascript jquery ajax