编程语言
首页 > 编程语言> > php-Opencart中的结帐验证在哪里

php-Opencart中的结帐验证在哪里

作者:互联网

我遇到的问题是,在“传递方法”部分中,Ajax由于某种原因未能通过验证.

在下面的代码中(来自checkout / checkout.tpl),BeforeSend和complete函数处于关闭状态,但成功的函数未处于关闭状态.

谁能告诉我在哪里设置了“ index.php?route = checkout / shipping_method / validate”?

谢谢

$('#button-shipping-method').live('click', function() {
   $.ajax({
      url: 'index.php?route=checkout/shipping_method/validate',
      type: 'post',
      data: $('#shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
      dataType: 'json',
      beforeSend: function() {
         $('#button-shipping-method').attr('disabled', true);
         $('#button-shipping-method').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
      },   
      complete: function() {
         $('#button-shipping-method').attr('disabled', false);
         $('.wait').remove();
      },         
      success: function(json) {
         $('.warning, .error').remove();

         if (json['redirect']) {
            location = json['redirect'];
         } else if (json['error']) {
            if (json['error']['warning']) {
               $('#shipping-method .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');

               $('.warning').fadeIn('slow');
            }         
         } else {
            $.ajax({
               url: 'index.php?route=checkout/payment_method',
               dataType: 'html',
               success: function(html) {
                  $('#payment-method .checkout-content').html(html);

                  $('#shipping-method .checkout-content').slideUp('slow');

                  $('#payment-method .checkout-content').slideDown('slow');

                  $('#shipping-method .checkout-heading a').remove();
                  $('#payment-method .checkout-heading a').remove();

                  $('#shipping-method .checkout-heading').append('<a>Modify &raquo;</a>');   

               },
               error: function(xhr, ajaxOptions, thrownError) {
                  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
               }
            });               
         }
      },
      error: function(xhr, ajaxOptions, thrownError) {
         alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
      }
   });   
});

解决方法:

网址显示了控制器结构,您可以在名称为ControllerCheckoutShippingMethod的类中找到validate函数,该类位于

catalog\controller\checkout\shipping_method.php

标签:opencart,php,jquery
来源: https://codeday.me/bug/20191030/1968573.html