获取“Microsoft VBScript运行时错误'800a01a8'”

时间:2011-05-21 16:21:43

标签: asp-classic vbscript country-codes

我继承了一个网站进行一般维护。网页是ASP页面,但我的大部分工作都是使用html / css。该网站已经运作了好几年,直到现在。当我尝试加载包含VB脚本的页面时,我收到以下错误:

  

Microsoft VBScript运行时错误'800a01a8'

     

需要对象:'[object]'

     

/new_products.asp,第12行

asp页面的名称根据被调用的页面而改变,但是行引用是相同的。

生成错误的代码如下:

        Dim objXMLHTTP
    Dim coordinates
    Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
    ip = Request.ServerVariables("REMOTE_ADDR")
    objXMLHTTP.Open "GET", "http://www.ippages.com/xml/?ip="&ip&"&get=country", False
    objXMLHTTP.Send
    Set xmldoc = objXMLHTTP.responseXML
    country = xmldoc.selectSingleNode("ip_address/lookups/lookup_country").text
    set objXMLHTTP=nothing

    theCountry = Trim(UCASE(country))


    If theCountry = "CA-CANADA" then
        Bags = "13.99"
        SB4Pack = "14.00"
        currency_code = "CAD"
        lc = "CA"
        Pref = "$"
        ShipType = 1
    ElseIf theCountry = "US-UNITED STATES" then
        Bags = "13.99"
        SB4Pack = "14.00"
        currency_code = "USD"
        lc = "US"
        Pref = "$"
        ShipType = 2
    Else
        Bags = "8.00"
        SB4Pack = "11.00"
        currency_code = "GBP"
        lc = "UK"
        Pref = "£"
        ShipType = 2
    End If

由于我对VB的知识非常有限,我尽力尝试找出代码停止工作的原因,但我很难过。非常感谢任何和所有帮助。

1 个答案:

答案 0 :(得分:0)

由于这是一个特定于环境的问题,如您所提到的那样最近开始弹出...无法提供确定的声明。你需要调查它。人们能做的就是建议一些事情。我相信你的问题就是这个陈述之一。

Set xmldoc = objXMLHTTP.responseXML
country = xmldoc.selectSingleNode("ip_address/lookups/lookup_country").text

可能这个值不会出现或者Null或Nothing。如果它是Null,Nothing,请尝试打印国家/地区的值...稍后当您尝试更改国家/地区的情况时....您可以使用工具来捕获像Fidler这样的Http请求和响应工具,以验证lookup_country中的内容是否为值,或者您是否正在获取此节点。

此处声明了 theCountry 。如果它是动态变量,那么检查是否有一个启用了OptionExplicit ??