窗口.打开如果成功的jQuery函数
window.open if success in jQuery function
此代码位于我的footer.php文件中,我将其包含在页面中。我想要的是运行这段代码在我的检查地址jQuery如果数据等于传递。我也试过把这段代码放在同一个页面,但仍然不工作。
<script src="//www.paypalobjects.com/api/checkout.js" async></script>
<script type="text/javascript">
window.paypalCheckoutReady = function () {
paypal.checkout.setup('<?php echo($merchantID); ?>', {
button: 'placeOrderBtn',
environment: '<?php echo($env); ?>',
condition: function () {
return document.getElementById('paypal_payment_option').checked === true;
}
});
};
</script>
这是我想插入paypalCheckoutReady函数如果(data == 'passed);然后运行该函数并打开一个窗口。
<script>
function check_address(){
var data = {
'first_name' : jQuery('#first_name').val(),
'last_name' : jQuery('#last_name').val(),
'street' : jQuery('#street').val(),
'street2' : jQuery('#street2').val(),
'city' : jQuery('#city').val(),
'state' : jQuery('#state').val(),
'zip_code' : jQuery('#zip_code').val(),
'country' : jQuery('#country').val(),
'phone' : jQuery('#phone').val(),
'notetext' : jQuery('#notetext').val(),
};
jQuery.ajax({
url : '/proj/admin/parsers/check_address.php',
method : 'POST',
data : data,
success : function(data){
if(data != 'passed'){
jQuery('#payment-errors').html(data);
}
if(data == 'passed'){
jQuery('#payment-errors').html("");
/*I want to run the window.open code here*/
paypalCheckoutReady(); //I tried this but not working
}
},
error : function(){alert("Something Went Wrong");},
});
}
</script>
<?php
} else {
$resArray = CallShortcutExpressCheckout ($_POST, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING") //if SetExpressCheckout API call is successful
{
RedirectToPayPal ( $resArray["TOKEN"] );
}
else
{
//Display a user friendly Error on the page using any of the following error information returned by PayPal
$ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
$ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
$ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
$ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);
echo "SetExpressCheckout API call failed. ";
echo "Detailed Error Message: " . $ErrorLongMsg;
echo "Short Error Message: " . $ErrorShortMsg;
echo "Error Code: " . $ErrorCode;
echo "Error Severity Code: " . $ErrorSeverityCode;
}
}
?>
<?php include 'includes/footer.php'; ?>
希望你能帮我解决这个问题。谢谢你
可能存在竞争条件。
尝试移动
<script src="//www.paypalobjects.com/api/checkout.js" async></script>
如果PayPal的.js文件缓存在本地,它可能会在你的代码运行之前初始化,然后paypalCheckoutReady
函数将永远不会被调用。
你想让函数运行吗?然后在那里调用它。
...
if (data == 'passed') {
jQuery('#payment-errors').html("")
paypalCheckoutReady(); // you don't need to type window.
}
...
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 如何从jquery函数返回变量
- 如何将具有文本类型值的var放入jQuery函数中
- Jquery函数在错误的时间提交
- 锚链接无法使用.slideUp jquery函数
- 重新分解jQuery函数
- 如何在视图模型contet更新更新上调用Jquery函数
- 如何向这个javascript/jquery函数添加参数
- 添加类来触发jquery函数
- 更改智能表中的页面将停止JQuery函数的工作
- 使用每500ms运行一次的jquery函数是个好主意吗
- jQuery函数不能只在一个页面上工作
- 如何将jquery函数链接到vanilla选择器
- 仅在小型设备上调用jQuery函数
- 如何将jquery函数仅应用于大屏幕
- 奇怪的jquery函数行为
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 在jquery函数内部设置来自jquery函数的var;t运行
- 从Jquery函数中获取一个变量