【问题标题】:How do I pull data from an API in javascript?如何从 javascript 中的 API 中提取数据?
【发布时间】:2016-10-21 03:29:41
【问题描述】:

我正在开发一个小型天气应用程序项目,但现在我已更改代码以根据您的地理位置进行经纬度更改,因此该按钮不起作用。当我单击它时,没有任何反应,我什至无法判断 API 是否正在提取数据。这是我的代码以及我用来愚弄的代码笔。 http://codepen.io/lettda/pen/yaGaLx

$(document).ready(function(){
    $("#reveal").on("click", function(){
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
            lat = position.coords.latitude;
            long = position.coords.longitude;

        var long;
        var lat;
        var api = "http://api.openweathermap.org/data/2.5/weather?lat="+lat+"&lon="+long+"&appid=de61ccfbde0405f57d64dbb53323fccf";

                $.getJSON(api, function(data){
                    $(".message").html(JSON.stringify(data))
                });
            });
        };
    });
});

【问题讨论】:

  • 我认为由于尝试从 codepen 访问端点,您可能会遇到一些奇怪的请求问题。您可以在控制台或网络面板中追踪您收到的错误消息 - 您可以在此处查看调用的执行情况,并评估它是否成功,如果不成功,为什么。

标签: javascript jquery json ajax api


【解决方案1】:

打开您的开发者工具(在 chrome 中按 F12)并查看控制台:

pen.js:4 getCurrentPosition() 和 watchPosition() 不再适用于不安全的来源。要使用此功能,您应该考虑将应用程序切换到安全源,例如 HTTPS。请参阅 https://.... 了解更多详情。

这是一个简单的跨域问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2020-04-28
    • 2013-01-08
    • 2020-05-11
    • 1970-01-01
    相关资源
    最近更新 更多