【问题标题】:Getting Microsoft VBScript runtime error '800a0009' on Checkout Cart在结帐购物车上获取 Microsoft VBScript 运行时错误“800a0009”
【发布时间】:2016-08-15 17:06:47
【问题描述】:

我对 ASP 真的不是很熟悉,但是我正在管理的网站正在向我吐出这个错误。以下是该网站的完整代码:

Microsoft VBScript 运行时错误“800a0009” 下标超出范围:'[数字:1]' /shopping_sub.asp,第 715 行。

这是 697-728 的代码:

'Response.write strPass & "<p>"     
    'Response.write "Response: " & strResp
    'Response.end

    If strResp="ERROR" then
        RESULT_num_shipping_options = -1
        Session("ShipErrMsg")="To continue your order, please contact customer service regarding your contact information. Thank you."
    Else    
        RESULT_num_shipping_options=1

        vResp=Split(strResp,":")

        Dim RESULT_shipping_description_array(4)
        Dim RESULT_shipping_amount_array(4)

        For I = 0 to UBound(vResp)
                vResp2=Split(vResp(I),"|")
                RESULT_shipping_description_array(I)=vResp2(0)
                RESULT_shipping_amount_array(I)=vResp2(1)

        Next            
    End If      

Else
    RESULT_num_shipping_options = -1
    cShipping=0
End If
End If

'Response.write "Weight: " & siWeight & "<br/>"
'Response.write "Zip: " & receiverpostalcode & "<br/>"
'Response.write "Country: " & receivercountrycode & "<br/>"

它似乎在将 7 件商品添加到购物车后开始运行,但任何少于此的商品都会返回错误。

并非所有产品都会出现这种情况,有什么想法吗?

【问题讨论】:

    标签: vbscript asp-classic


    【解决方案1】:

    您是否使用调试器来确定 vResp 的值和 vResp2 的数组长度?

    我的猜测是响应不是您所期望的。如果您不能强制 api 始终具有正确的响应,那么您需要通过在尝试访问该值之前检查拆分响应的长度来防止它。

    我看到的另一个不相关的问题是,如果 UBound(vResp)_ > 4,那么你会得到一个类似的错误

    【讨论】:

      猜你喜欢
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2013-05-27
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多