#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. Спасибо, что нашли время ответить. Я приношу извинения за то, что до сих пор не перезвонил вам. Я не смог продолжить решение проблемы, поскольку клиент решил закрыть магазин, и веб-сайт больше не был нужен. Хотя еще раз спасибо.