0

一般的なメンテナンスを行うために Web サイトを継承していました。Web ページは 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

これは、あなたが言及したように最近ポップアップし始めた環境固有の問題であるため...確かな声明を提供することはできません。あなたはそれを調査する必要があります。人にできることは、何かを提案することです。あなたの問題はこの声明の1つだと思います。

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

おそらく、この値は来ていないか、Null または Nothing.Try to print the value of country if it's come as Null, Nothing... 後で、country の大文字と小文字を変更しようとすると.... ツールを使用して Http をキャプチャできますFidler などの要求および応答ツールを使用して、lookup_country に値として入ってくるもの、またはこのノードを取得しているかどうかを確認します。

また、 istheCountryが宣言されています。それが動的変数である場合は、誰かが OptionExplicit を有効にしているかどうかを確認しますか??

于 2011-05-21T16:34:49.697 に答える