提交前jQuery表单发布

我有一个页面,上面有一个需要发布到外部URL的表单。 但是,我还需要将此信息发送到当前页面(mypage.php)。 出于安全原因,我不能只发布到mypage.php并使用cURL通过PHP发布到外部网站 – 表单必须直接提交到外部网站。

这段代码可以在mypage.php上找到并且不起作用(我假设myform的提交不等待post):

$('#myform').submit(function() { $.post('mypage.php', serialized_form, function(data) { ... }, 'html' ); } ... 
...

做这样的事情的最佳方法是什么?

谢谢!

你可以使$ .post()同步,这将阻止javascript(和网站)继续,直到它返回。

如果你使用$.ajax({type: 'post', async: false}) (加上你的其他参数)应该可以做到这一点。

你可以阅读更多信息@ http://api.jquery.com/jQuery.ajax/

它会对你有用吗?

 $('#myform').submit(function() { $.post('mypage.php', serialized_form, function(data) { ... $.post('http://example.org', serialized_form, ....); }, 'html' ); return false; } 
...

如果我理解了您的问题,那么您需要将数据转换为$ url,然后仍然提交表单。 希望以下代码适合您(未测试^^):

 ;(function($) { var sent = false; $('#myform').submit(function() { if(sent) { return true; } $.post('mypage.php', serialized_form, function(data) { sent = true; $('#myform').submit(); }, 'html' ); return false; }); })(jQuery);