[英]IdealForms - javascript - post not working
onSubmit: function(invalid, e) {
e.preventDefault();
$('#invalid')
.show()
.toggleClass('valid', ! invalid)
.text(invalid ? (invalid +' invalid fields') : 'All good!');
if (!invalid) $.post('register.php', this.$form.serialize(), function(response) {
}, 'json');
}
这是我的发布函数。当我单击提交时,出现“ All Good”字样,但是页面没有刷新或将详细信息发布到register.php页面。
您似乎从根本上误解了AJAX的工作原理。 您期望页面刷新,但是您所使用的代码明确告诉页面不要刷新。 首先,是这样的:
e.preventDefault();
这完全符合其说的,它防止了默认事件。 假设这是在表单上,则明确阻止表单提交。 然后,您将收到AJAX请求:
$.post('register.php', this.$form.serialize(), function(response) {
}, 'json');
正如您在FireBug中确认的那样,这会将POST
请求发送到服务器。 但是...您对响应不做任何事情。 您的函数为空:
function(response) {
}
那么...您期望发生什么? 空函数...什么都不做。 您可以在FireBug中确认响应是否符合您的期望,但这是一个完全独立的问题。 如果您没有实际显示,无论响应正确与否,都不会在页面上显示。 看一下文档中的示例:
$.post( "ajax/test.html", function( data ) {
$( ".result" ).html( data );
});
响应放置在$(".result")
元素中。 在这段代码中,他们正在显示响应。 如果要查看响应,则还必须将其显示在某个位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.