Asp classic ASP选项显式-Paypal Express签出问题
在经典ASP中集成PayPal Express Checkout时,我面临一个大问题 在没有显式Asp classic ASP选项显式-Paypal Express签出问题,asp-classic,vbscript,paypal,option-explicit,Asp Classic,Vbscript,Paypal,Option Explicit,在经典ASP中集成PayPal Express Checkout时,我面临一个大问题 在没有显式选项的情况下运行时,PayPal在“”处提供的代码可以完美工作 当我输入编码页面并调用提供的函数时,我面临着一个大问题:我现有的页面都使用选项Explicit 这导致我不得不手动声明PayPal函数中的所有变量 示例PayPal函数由许多数组/列表/对象/索引组成,用于设置调用PayPal站点所需的名称/值对。这是完全不容易的,我要改变它的所有正确的声明,因为我不是ASP专家和项目的最后期限很紧 有人
选项的情况下运行时,PayPal在“”处提供的代码可以完美工作
当我输入编码页面并调用提供的函数时,我面临着一个大问题:我现有的页面都使用选项Explicit
这导致我不得不手动声明PayPal函数中的所有变量
示例PayPal函数由许多数组/列表/对象/索引组成,用于设置调用PayPal站点所需的名称/值对。这是完全不容易的,我要改变它的所有正确的声明,因为我不是ASP专家和项目的最后期限很紧
有人能给我一些建议吗?似乎可以通过执行
语句将“选项显式
”-代码与非“选项显式
”-代码混合使用
下面是我刚刚用VBScript做的一个小测试(它也适用于经典ASP):
及
结果:
Message 1: (equal to the contents of vb2.vbs)
Message 2: 200
我不知道这是否是最好的方法,但目前我想不出更好的方法。试试看
当心“其代码”中的全局变量或函数名引起的名称空间冲突。缺点是ASP将缓存已解析/标记化的或以其他方式“编译”的ASP页面。然而,每次调用页面时,都需要对传递给执行的任何代码进行分析和“编译”。将您自己的大部分代码放在一个类中,从而显著减少代码在全局级别创建的标识符集,可以减轻命名空间冲突风险。@AnthonyWJones:+1对于您的两条注释,您的回答是对的。另一方面,我认为解析/编译业务花费的时间可以忽略不计,因为它发生在线程中。执行请求的脚本引擎已经加载,PayPal代码将非常简单,可以在毫秒内使用。没什么我会担心的。
''# vb2.vbs (i.e. "their code")
j = 100
Function foo
k = 100
foo = j + k
End Function
Message 1: (equal to the contents of vb2.vbs)
Message 2: 200