我需要向 paypal 发送发布请求,但在发送表单之前,我需要验证一些输入,并且必须在新选项卡或窗口中打开 paypal 页面(没关系)。我无法在同一窗口中发送请求,因为在主页中我有后台 ajax 回调。所以想法是我可以在新窗口或选项卡中发送请求吗?
在所有主流浏览器中,这是不允许的,浏览器会不断阻止请求。
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank" id="paypal_form">
<input type='hidden' name='some_value' id='some_value' value='151' />
</form>
<div id='button_submit' onClick="verify_paypal_form();">SUBMIT !</div>
现在是 ajax 部分:
function verify_paypal_form(){
$.post('verify.php', { someValue : 'FOO' },
function(data){
if( data == 'OKAY' ) $('#paypal_form').submit();
});
}
最佳答案
将form的目标设置为iframe并尝试一下。您也可以将该 iframe 显示为新选项卡的内容。
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="myFrame" id="paypal_form">
<input type='hidden' name='some_value' id='some_value' value='151' />
</form>
<div id='button_submit' onClick="verify_paypal_form();">SUBMIT !</div>
<iframe id="myFrame" ...... set other attributes as required....></iframe>
关于jquery - html 表单目标_blank 浏览器不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335375/