繁体   English   中英

IdealForms-JavaScript-发布不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM