Получение «Ошибки времени выполнения Microsoft VBScript ‘800a01a8′»

#asp-classic #vbscript #country-codes

#asp-classic #vbscript #коды стран

Вопрос:

Я унаследовал веб-сайт для общего обслуживания. Веб-страницы являются страницами 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="amp;ipamp;"amp;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 = "amp;#163;"
        ShipType = 2
    End If
  

С моими крайне ограниченными знаниями о VB я сделал все возможное, чтобы попытаться выяснить, почему код перестал работать, но я в тупике. Любая помощь с благодарностью принимается.

Ответ №1:

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

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

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

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

Комментарии:

1. Спасибо, что нашли время ответить. Я приношу извинения за то, что до сих пор не перезвонил вам. Я не смог продолжить решение проблемы, поскольку клиент решил закрыть магазин, и веб-сайт больше не был нужен. Хотя еще раз спасибо.