AJAX调用不起作用(jquery)

时间:2017-04-03 12:56:41

标签: jquery ajax

我正在尝试从openweathermap网站获取JSON数据。下面是我编写的jquery代码。我的目标是在控制台中记录JSON数据。但是控制台日志没有显示任何内容。我有通过使用警报尝试成功功能是否正常。但是没有显示警告对话框。我无法找出问题所在。请帮助我。

$(document).ready(function(){

    $("#submitButton").click(function(){

        //alert("Hello");
        return getWeather();

    });
});

function getWeather(){


    var city=$("#city").val();

    if(city != ''){

        $.ajax({


            url : 'http://api.openweathermap.org/data/2.5/weather?q=' + city + "&units=metric" + "&APPID=8eca04841762dd31f99510429e97970a",
            type:"GET",
            dataType:"jsonp",
            success:function(data){

                //alert("hello");
                console.log(data);
                $("#showWeather").html();
            }

        });

    }

    else{


        $("#error").html("<div>City field cannot be empty</div>");
    }
}

2 个答案:

答案 0 :(得分:2)

您的API链接使用http协议(而不是https)。因此, Mixed content error 可能会发生原因。

这就是为什么你在某些浏览器中看不到或注意到一些不安全的内容被隐藏的原因。

所以可能的解决方案是在您的网站上使用http以避免混合内容。但强烈建议在两台服务器上使用https。

答案 1 :(得分:0)

我知道这是一篇较老的帖子,但我遇到了同样的问题。对我有用的是

.done(function(data){
        console.log(data)}

而不是

success:function(data){
console.log(data);

            }