Javascript 本机电子商务-AJAX问题
我正在使用Javascript 本机电子商务-AJAX问题,javascript,php,woocommerce,payment-gateway,checkout,Javascript,Php,Woocommerce,Payment Gateway,Checkout,我正在使用viva payments为WooCommerce开发一个自定义插件。文件在这里。它将是一个本地插件 问题 目前,我必须将wc checkout脚本退出队列才能使其正常工作 wp_出列_脚本('wc checkout') 退出队列的原因是viva使用卡处理程序,并且使用onblur事件向viva发出XHR请求。在“网络”选项卡中查看称为XHR的请求 https://demo.vivapayments.com/api/cards/installments?key=mykey 响应是{
viva payments
为WooCommerce开发一个自定义插件。文件在这里。它将是一个本地插件
问题
目前,我必须将wc checkout
脚本退出队列才能使其正常工作
wp_出列_脚本('wc checkout')代码>
退出队列的原因是viva使用卡处理程序,并且使用onblur事件向viva发出XHR请求。在“网络”选项卡中查看称为XHR的请求
https://demo.vivapayments.com/api/cards/installments?key=mykey
响应是{“MaxInstallments”:0}
如果我不删除脚本,则不会发出此请求。如果在我尝试获取令牌时未发出请求,则会出现一个错误,显示“无法解析过期日期”
这是jsp代码
function getToken(){
VivaPayments.cards.requestToken( function(){
});
}
function tokenMyFunction() {
VivaPayments.cards.requestToken( function(){
//do something?
});
}
$(document).ready(function (){
if (viva_params.testMode === '1'){
var url = "https://demo.vivapayments.com"
} else {
url = "https://www.vivapayments.com"
}
VivaPayments.cards.setup({
publicKey: viva_params.publishableKey,
baseURL: url,
cardTokenHandler: function (response) {
//console.log(response)
if (!response.Error) {
//console.log(response.Token)
$('#hidToken').val(response.Token);
return false;
}
else{
console.log(response);
alert(response.Error);
return false;
}
},
installmentsHandler: function (response) {
if (!response.Error) {
if (response.MaxInstallments == 0)
return;
$('#drpInstallments').show();
for(i=1; i<=response.MaxInstallments; i++){
$('#drpInstallments').append($("<option>").val(i).text(i));
}
}
else
alert(response.Error);
}
});
});
函数getToken(){
VivaPayments.cards.requestToken(函数(){
});
}
函数tokenMyFunction(){
VivaPayments.cards.requestToken(函数(){
//做点什么?
});
}
$(文档).ready(函数(){
如果(viva_params.testMode=='1'){
变量url=”https://demo.vivapayments.com"
}否则{
url=”https://www.vivapayments.com"
}
VivaPayments.cards.setup({
公钥:viva_params.publishableKey,
baseURL:url,
cardTokenHandler:函数(响应){
//console.log(响应)
如果(!response.Error){
//console.log(response.Token)
$('#hidToken').val(response.Token);
返回false;
}
否则{
控制台日志(响应);
警报(响应.错误);
返回false;
}
},
installmentsHandler:函数(响应){
如果(!response.Error){
如果(response.maxInstallations==0)
返回;
$('drpInstallments').show();
对于(i=1;i
<form action="index.php" method="POST" id="payment-form">
<div class="form-row">
<label>
<span>Cardholder Name</span>
<input class="form-field" type="text" size="20" name=”txtCardHolder” autocomplete="off" data-vp="cardholder"/>
</label>
</div>
<div class="form-row">
<label>
<span>Card Number</span>
<input class="form-field" type="text" size="20" maxlength="16" name=”txtCardNumber” autocomplete="off" data-vp="cardnumber"/>
</label>
</div>
<div class="form-row">
<label>
<span>CVV</span>
<input class="form-field" type="text" name=”txtCVV” size="4" autocomplete="off" data-vp="cvv"/>
</label>
</div>
<div class="form-row">
<label>
<span>Expiration (MM/YYYY)</span>
<input type="text" size="2" class="form-field" name=”txtMonth” autocomplete="off" data-vp="month"/>
</label>
<span> / </span>
<input type="text" class="form-field" class="lukeexpiry" size="4" name=”txtYear” autocomplete="off" data-vp="year"/>
</div>
<div class="form-row">
<label>
<select id="drpInstallments" value="0" name="drpInstallments" style="display:none"></select>
</label>
</div>
<div class="form-row">
<button type="button" onclick="getToken()">Get Token</button>
</div>
<input type="hidden" name="OrderId" value="146228" /> <!--Custom Field-->
<input type="hidden" name="hidToken" id="hidToken" /> <!--Hidden Field to hold the Generated Token-->
</form>