【问题标题】:Geoip Span city not working second timeGeoip Span城市第二次不工作
【发布时间】:2018-04-30 21:49:33
【问题描述】:

自上周以来,这一直困扰着我。我正在制作一个网页,并且必须使用几次。但唯一的问题是,当我第二次使用该代码时,它不会显示城市名称输出。

这是我正在使用的代码。我做错了什么?

在这段代码中,当你运行它时,你会注意到它只会显示你的城市 1 次,第二个代码由于某种原因不会运行。我希望我清楚我在问什么。随意问任何问题。

这是脚本部分:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="https://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>

<script>
    var onSuccess = function(geoipResponse) {
        var cityElement = document.getElementById('city');
        if (cityElement) {
            cityElement.textContent = geoipResponse.city.names.en || 'Unknown city';
        }

        var countryElement = document.getElementById('country');
        if (countryElement) {
            countryElement.textContent = geoipResponse.country.names.en || 'Unknown country';
        }
    };

    var onError = function(error) {
        window.console.log("something went wrong: " + error.error)
    };

    var onLoad = function() {
        geoip2.city(onSuccess, onError);
    };

    // Run the lookup when the document is loaded and parsed. You could
    // also use something like $(document).ready(onLoad) if you use jQuery.
    document.addEventListener('DOMContentLoaded', onLoad);
    </script>

这是身体部位:

<span id="country"></span> <span id="city"></span><span id="city"></span>

【问题讨论】:

  • "它只会显示你的城市 1 次,第二个代码由于某种原因不会运行" - 你如何运行它第二次,刷新页面?您能否在浏览器调试工具中查看流量以查看它第二次发出的请求?我假设您没有收到“出现问题”日志或脚本错误?
  • 第二次我的意思是,CITY 的第二个代码不会第二次显示城市。它应该在页面上显示城市 2 次。
  • 哦,我明白了:您有两个元素 id="city",并且您希望您的代码同时填充它们。问题是document.getElementById('city'); 只会返回其中一个。您可以给他们不同的 ID 并同时填充它们,例如通过复制城市代码或在具有两个 ID 的循环中重复相同的代码,或者您可以使用不同的方式来查找城市的两个跨度,例如通过使用一个类和一个 getElementsBy- 调用将返回它们。

标签: geoip maxmind city


【解决方案1】:

感谢您的帮助,按照您的建议,复制了

var cityElement = document.getElementById('city');

并在第二个代码上重命名为 city2 对我有用。这是一个简单的解决方法,但对我有用。

谢谢:)

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多