0

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

Microsoft VBScript 运行时错误“800a01a8”

需要对象:'[对象]'

/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 的了解极其有限,我已尽我所能尝试找出代码停止工作的原因,但我很难过。非常感谢任何和所有帮助。

4

1 回答 1

0

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

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

可能这个值没有来或 Null 或 Nothing。尝试打印 country 的值,如果它来为 Null,Nothing... 稍后当您尝试更改 country 的大小写时...。您可以使用工具来捕获 Http请求和响应工具(例如 Fidler)来验证 lookup_country 中的值或您是否正在获取此节点。

还声明了 where is theCountry。如果它是动态变量,那么检查是否有人启用了 OptionExplicit??

于 2011-05-21T16:34:49.697 回答