我有一个页面,上面有一个需要发布到外部网址的表单。但是,我还需要将此信息发送到当前页面(mypage.php)。出于安全原因,我不能只发布到mypage.php并使用cURL通过PHP发布到外部网站 - 表单必须直接提交到外部网站。
此代码可以在mypage.php上找到并且不起作用(我假设myform的提交不等待帖子):
$('#myform').submit(function() {
$.post('mypage.php', serialized_form,
function(data) {
...
}, 'html'
);
}
...
<form id="myform" action="http://example.org" method="post">
...
</form>
做这样的事情的最佳方式是什么?
谢谢!
答案 0 :(得分:5)
你可以进行$ .post()同步,这会阻止javascript(和网站)继续,直到它被返回。
如果你使用$.ajax({type: 'post', async: false})
(加上你的其他参数)那就可以了。
您可以阅读更多信息@ http://api.jquery.com/jQuery.ajax/
答案 1 :(得分:0)
它会对你有用吗?
$('#myform').submit(function() {
$.post('mypage.php', serialized_form,
function(data) {
...
$.post('http://example.org', serialized_form, ....);
}, 'html'
);
return false;
}
<form id="myform" method="post">...</form>
答案 2 :(得分:0)
如果我了解您的问题,那么您需要将数据转换为$ 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);