Получение "Ошибка выполнения Microsoft VBScript '800a01a8'" - PullRequest
0 голосов
/ 21 мая 2011

Я унаследовал веб-сайт для общего обслуживания. Веб-страницы - это страницы 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, я сделал все возможное, чтобы попытаться выяснить, почему код перестал работать, но я в тупике. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 21 мая 2011

Поскольку это проблема, связанная с конкретной средой, которая недавно начала всплывать, как вы упомянули ... Никаких верных утверждений предоставить невозможно. Вы должны исследовать это. Что можно сделать, это предложить что-то. Я считаю, что ваша проблема является одним из этих утверждений.

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

Вероятно, это значение не приходит, или ноль, или ничего. Попробуйте напечатать значение страны, если оно равно нулю, ничего ... Позже, когда вы попытаетесь изменить регистр страны .... Вы можете использовать инструменты для захватите Http-инструменты запроса и ответа, такие как Fidler, чтобы проверить, что входит в lookup_country как значение, или вы получаете этот узел или нет.

Также, где объявлено theCountry. Если это динамическая переменная, то проверьте, включен ли какой-либо параметр OptionExplicit ??

...