是否可以阻止表单提交,然后在ajax调用成功中重新提交相同的表单?
目前它获得了成功,但它没有重新提交应提交的表单并将用户重定向到http://example.com网站.
非常感谢您提前提供任何帮助
如果不可能这样做,还有另一种方法可以让它发挥作用吗?
$(document).ready(function() { $('form').submit(function(e) { e.preventDefault(); $.ajax({ url: $('form').attr('action'),type: 'post',data: $('form').serialize(),success: function(data) { if (data == 'true') { $('form').attr('action','http://example.com'); $('form').unbind('submit').submit(); // mistake: changed $(this) to $('form') - Problem still persists though it does not resubmit and redirect to http://example.com } else { alert('Your username/password are incorrect'); } },error: function() { alert('There has been an error,please alert us immediately'); } }); }); });
编辑:
Stackoverflow帖子签出以下代码:
> Resume form submission after $.ajax call
> How to reenable event.preventDefault?
我只是想我提到我也试过这个代码而没有用.
var ajaxSent = false; $(document).ready(function() { $('form').submit(function(e) { if ( !ajaxSent) e.preventDefault(); $.ajax({ url: $('form').attr('action'),success: function(data) { if (data == 'true') { alert('submit form'); ajaxSent = true; $('form').attr('action','http://example.com'); $('form').submit(); return true; } else { alert('Your username/password are incorrect'); return false; } },please alert us immediately'); return false; } }); }); });
我也试过这个代码而没有任何运气.
$(document).ready(function() { $('form').submit(function(e) { e.preventDefault(); $.ajax({ url: $('form').attr('action'),'http://example.com'); $('form').unbind('submit').submit(); return true; } else { alert('Your username/password are incorrect'); return false; } },please alert us immediately'); return false; } }); }); });
解决方法
解决方案非常简单,涉及在.ajax()中添加和设置async为false.另外,我已经重新编写了代码来处理提交按钮,而是在AJAX成功通过时提交表单.
这是我的工作代码:
$(document).ready(function() { var testing = false; $('#btn-login').on('click',function() { $.ajax({ url: $('form').attr('action'),async: false,success: function(data) { if (data == 'true') { testing = true; $('form').attr('action','https://example.com'); $('form').submit(); } else { alert('Your username/password are incorrect'); } },please alert us immediately'); } }); return testing; }); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。