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>