jjzjj

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

coder 2024-05-03 原文

我遇到的问题是,在“交付方法”部分,Ajax 出于某种原因无法验证。

在下面的代码中(来自 checkout/checkout.tpl),BeforeSend 和 complete 函数正在触发,但 success 中的函数没有触发。

谁能告诉我“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);
      }
   });   
});

最佳答案

因为 url 显示了 Controller 结构,您可以在名称为 ControllerCheckoutShippingMethod 的类中找到 validate 函数,它位于

catalog\controller\checkout\shipping_method.php

关于php - Opencart中的结帐验证在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283137/

有关php - Opencart中的结帐验证在哪里的更多相关文章

  1. c# - 具有流畅验证集合的自定义消息 - 2

    我将SetCollectionValidator用于通用集合。我的收藏是以下列表:publicclassAnswer{publicstringQuestionConst{get;set;}publicstringQuestionName{get;set;}publicboolRequired{get;set;}publicstringAnswer{get;set;}}我有验证设置和工作,所以当一个项目无效时,错误消息类似于:“'QuestionName'不能为空”。我希望错误消息显示类似“'TheFirstQuestion'mustnotbeempty.”之类的内容。(其中第一个问题是

  2. c# - 跟踪日志位置,在哪里查看它们 - 2

    在开发MVC或WCF应用程序时,您在哪里看到Trace.Write("");日志?正确的看点是什么? 最佳答案 当使用System.Diagnostics.Trace类时,Write方法写入其跟踪输出“tothetracelistenersintheListenerscollection.”默认情况下,Trace.Listeners属性仅包含DefaultTraceListener的一个实例,它将消息输出到调试器输出窗口。当然,要查看这些跟踪消息,您必须启用调试。因此,如果您在VisualStudio中调试WCF服务或ASP.NET

  3. c# - 在 C# 中开发许可证 - 我从哪里开始? - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我很想知道是否有任何标准或资源可以推荐用于在C#中开发许可模型?

  4. c# - OWIN 的混合身份验证 - 2

    我有两个通过两种方式对用户进行身份验证的方法:如果他们是内部用户,我们将通过Windows的事件目录进行身份验证如果他们在网站上注册,他们会通过FormsAuthentication进行身份验证在MVC3/4中,我能够通过实现自定义成员资格提供程序和自定义角色提供程序来实现这一点。在使用OWIN和Identity的MVC5中是否可以实现同样的功能?如何实现? 最佳答案 本质上,混合模式是一种带有windows身份验证入口点的表单例份验证,一旦用户通过它,就会发生正常的表单例份验证流程。EnablingWindowsAuthentic

  5. c# - 使用Base64编码的公钥验证RSA签名 - 2

    简而言之,这是我的问题:privatestringpublicKeyString="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVGUzbydMZS+fnkGTsUkDKEyFOGwghR234d5GjPnMIC0RFtXtw2tdcNM8I9Qk+h6fnPHiA7r27iHBfdxTP3oegQJWpbY2RMwSmOs02eQqpKx4QtIjWqkKk2Gmck5cll9GCoI8AUAA5e0D02T0ZgINDmo5yGPhGAAmqYrm8YiupwQIDAQAB";/*Sometransformationrequired

  6. c# - Entity Framework 6 中的 MergeOption 在哪里? - 2

    我习惯了EntityFramework4,在调用某些View时,我必须确保将MergeOption设置为NoTracking,就像这样SHEntity.qry_UserPermissions.MergeOption=System.Data.Objects.MergeOption.NoTracking;但在更新到EF6.1时,我什至不再将MergeOption视为qry_UserPermissions的一部分。我必须设置它,否则EF有时会在我不想要的时候合并记录。我用谷歌搜索并没有任何运气,尽管这对我来说似乎是一个简单的问题。如何在EF6.1中关闭跟踪? 最佳

  7. c# - 如何使用 IDataErrorInfo 从 ViewModel 强制更新 View 的验证错误? - 2

    我有一个带有许多控件的基于MVVM的窗口,我的模型实现了IDataErrorInfo。还有一个SaveCommand按钮,它通过分析Model.Error属性来执行验证。只有当我更改特定控件的值,或者当我使用PropertyChanged通知有关该属性的更改时,View才会在有错误的控件周围显示默认的红色边框。即使我没有触摸控件,如何强制View显示所有验证错误?我所有的验证绑定(bind)都包括ValidatesOnDataErrors=True,NotifyOnValidationError=True。我知道一种解决方案是使用一个包含所有错误的聚合框,但我更愿意在每个控件的基础上显

  8. c# - WPF 在 WinForms 应用程序中使用,将应用程序资源放在哪里? - 2

    目前,我们在WinForms应用程序中托管了许多WPF控件。应用程序使用System.Windows.Forms.Application.Run(...)方法启动,WPF控件使用ElementHost托管。在普通的WPF应用程序中,我会定义一个System.Windows.Application对象(App.xaml)并在其上调用运行.通常,任何应用程序级别的WPF资源都会放在那里。我们没有这个。如何为WPF控件指定应用程序级资源,但仍作为WinForms应用程序运行? 最佳答案 在托管环境中,您无法轻松访问应用程序,WPF博士在h

  9. c# - 日期的 MVC 模型验证 - 2

    是否有任何MVC5的默认验证,我可以在其中设置日期的最小值和最大值?在我的模型中我想要日期验证publicclassMyClass{[Required(ErrorMessage="Startdateandtimecannotbeempty")]//validate:Mustbegreaterthancurrentdate[DataType(DataType.DateTime)]publicDateTimeStartDateTime{get;set;}[Required(ErrorMessage="Enddateandtimecannotbeempty")

  10. C#:参数验证:null/空字符串 - 2

    我不知道有多少次我不得不编写代码来验证字符串参数:publicRoomName(stringname){if(string.IsNullOrEmpty(name)){thrownewArgumentException("Cannotbeempty","name");}}有没有办法避免这种情况?是否有一些属性或契约设计机制可以避免这种情况?有没有办法说:publicRoomName(NotNullOrEmptyStringname){无需实际创建该类型? 最佳答案 您可以通过带有属性的代码注入(inje

随机推荐

  1. c# - LINQ:获取表列名称 - 2

    如何使用LINQ获取表的列名?C#3.0、3.5框架 最佳答案 也许为时已晚,但我通过这段代码解决了这个问题vardb=newDataContex();varcolumnNames=db.Mapping.MappingSource.GetModel(typeof(DataContex)).GetMetaType(typeof(_tablename)).DataMembers; 关于c#-LINQ:获取表列名称,我们在StackOverflow上找到一个类似的问题:

  2. c# - 在 C# 中将数据 View 复制到数据表的最简单方法? - 2

    我需要将数据View复制到数据表中。似乎这样做的唯一方法是逐项遍历数据View并复制到数据表。一定有更好的方法。 最佳答案 dt=DataView.ToTable()或dt=DataView.Table.Copy(),或dt=DataView.Table.Clone(); 关于c#-在C#中将数据View复制到数据表的最简单方法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7

  3. c# - 属性 'name'是对象关键信息的一部分,不能修改。 Entity Framework - 2

    我正在尝试更新记录,但在context.SaveChanges();之后收到此错误消息Theproperty'name'ispartoftheobject'skeyinformationandcannotbemodified.这是更新函数的代码:if(context.EAT_SourceNames.Any(e=>e.name==newSourceName)){MessageBox.Show("NamealreadyexistsintheDatabase");}else{varnameToUpdate=context.EAT_SourceNa

  4. c# - ASP.NET Identity 2.0 检查当前用户是否在角色 IsInRole - 2

    使用ASP.NETIdentity2.0如何检查当前登录的用户是否在某个角色中?我正在使用以下内容,但想知道是否有更有效的方法。varum=newUserManager<ApplicationUser>(newUserStore<ApplicationUser>(newDbContext()));varau=um.FindByEmail(Context.User.Identity.GetUserName());varinrole=um.IsInRole(au.Id,"Admin");if(inrole){} 最佳答案

  5. c# - 找不到类型或命名空间名称 'async' - 2

    这个问题在这里已经有了答案:Usingasync-awaiton.net4(5个答案)关闭6年前。我试图在WPF应用程序.NETFramework4ClientProfile中使用以下方法,但我收到此错误:Thetypeornamespacename'async'couldnotbefound我正在使用usingSystem.Threading.Tasks;知道哪里出了问题吗?提前致谢privateasyncTaskSumPageSizesAsync(){HttpClientclient=newHttpClient();Task<byte[]>getCont

  6. c# - Entity Framework 代码首先更新数据库在 CREATE DATABASE 上失败 - 2

    ThisposthasbeennotedSohasthisone在我的开发机器上,我正在尝试使用包管理器控制台中的更新数据库重新创建我的数据库。我相信我已按照上述帖子中的说明进行操作。我收到此错误消息:Afileactivationerroroccurred.Thephysicalfilename'\WRDatabase.mdf'maybeincorrect.Diagnoseandcorrectadditionalerrors,andretrytheoperation.CREATEDATABASEfailed.Somefilenameslistedcouldnotbec

  7. c# - 检查 DateTime 是否早于 DateTime.Now - 2

    如果某个DateTime(在本例中称为dateAndTime1)早于我的当前日期和时间,我如何使用某种形式的if语句进行检查假设将使用DateTime.Now检索? 最佳答案 if(dateAndTime1<DateTime.Now){//dosomething} 关于c#-检查DateTime是否早于DateTime.Now,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

  8. c# - 将一个二维数组复制到另一个二维数组 - 2

    我使用这段代码将一个二维数组复制到另一个二维数组:Array.Copy(teamPerformance,0,tempPerformance,0,teamPerformance.Length);但是,当我更改tempPerformance中的一些数据时,这些更改也适用于teamPerformance。我应该怎么做才能控制它? 最佳答案 你需要Clone()double[,]arr={{1,2},{3,4}};double[,]copy=arr.Clone()asdouble[,];copy[0,0]=2;//itreallycopie

  9. c# - 如何清除对 gridview 行的选择? - 2

    我正在使用C#ASP.NETVS2010。我有一个包含选择命令按钮的GridView。此选择按钮指向在选择后激活的C#页面代码隐藏中的一个操作。执行所有必需的操作后,我想清除选择。例如:如果ID="gvInfo"我想使用类似gvInfo.Deselect();我该怎么做? 最佳答案 试试这个:GridviewhasapropertycalledSelectedIndex.Ifyouwanttounselectanyrowsthensetthispropertyto-1. 关于c#-如何清

  10. c# - c#中list<>和dictionary<>有什么区别 - 2

    我对c#中的列表和字典有一个奇怪的疑问在列表中,我们使用以下方法将项目添加到列表usingSystem.Collections.Generic;classProgram{staticvoidMain(){List<int>list=newList<int>();list.Add(2);list.Add(3);list.Add(5);list.Add(7);}}在字典中我们添加这样的项目......usingSystem;usingSystem.Collections.Generic;classProgram{staticvoidMain(){Dictionary