Как конвертировать скрипт JavaScript Maxmind Geoip1 в Geoip2

Используя первый Geoip, я использовал простой код Javascript (как показано ниже), но весь день пытался выяснить, что мне нужно сделать, чтобы скрипт распознал код страны для Maxmind Javascript Geoip2.

Оригинальный код GEOip

<script type="text/javascript">
var user_country = geoip_country_code();

if(user_country == "US")
document.write(hockeyAds[4]);
else
document.write(hockeyAds[5]);
</script>

Что у меня в новом заголовке

  <script type="text/javascript" src="//j.maxmind.com/js/apis/geoip2/v2.0/geoip2.js"></script>

Последний код, который я пытался использовать.

<script type="text/javascript">
var user_country = geoip2.cityISPOrg.country.iso_code();
if(user_country == "US")
document.write(hockeyAds[4]);
else
document.write(hockeyAds[5]);
</script>

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

<script>
geoip2.cityISPOrg(function (response) {
    $("#usercountry").html(response.country.iso_code);
});
</script>
<p>
    <span id="usercountry"></span>
</p>

Не совсем все хорошо с пониманием Javascript. Спасибо

1 ответ

Решение

Вам необходимо передать обратные вызовы об успехе и ошибке в методы geoip2. Попробуй это:

geoip2.country(
    function (response) {
        if (response.country.iso_code === "US") {
            document.write(hockeyAds[4]);
        } else {
            document.write(hockeyAds[5]);
        }
    },
    function (error) {
        // handle error
    }
);

Кроме того, этот учебник может помочь вам понять API: http://dev.maxmind.com/geoip/geoip2/javascript/tutorial/

Другие вопросы по тегам