AJAX调用不工作(jquery)

AJAX调用不工作(jquery),jquery,ajax,Jquery,Ajax,我正在尝试从openweathermap网站获取JSON数据。下面是我为此编写的jquery代码。我的目标是在控制台中记录JSON数据。但控制台日志没有显示任何内容。我使用警报尝试了成功函数是否工作。但警报对话框没有显示。我无法弄清楚问题出在哪里,请帮我解决 $(document).ready(function(){ $("#submitButton").click(function(){ //alert("Hello"); return getWea

我正在尝试从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>");
    }
}
$(文档).ready(函数(){
$(“#提交按钮”)。单击(函数(){
//警惕(“你好”);
返回getWeather();
});
});
函数getWeather(){
var city=$(“#city”).val();
如果(城市!=''){
$.ajax({
网址:'http://api.openweathermap.org/data/2.5/weather?q=“+city+”&单位=公制“+”&应用ID=8ECA04841762DD31F99510429E970A”,
键入:“获取”,
数据类型:“jsonp”,
成功:功能(数据){
//警惕(“你好”);
控制台日志(数据);
$(“#showWeather”).html();
}
});
}
否则{
$(“#error”).html(“城市字段不能为空”);
}
}

您的API链接使用http协议(非https)。所以这可能是发生的原因

这就是为什么在某些浏览器中,您看不到任何内容,或者注意到隐藏了一些不安全的内容


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

使用http协议(非https)的API链接。所以这可能是发生的原因

这就是为什么在某些浏览器中,您看不到任何内容,或者注意到隐藏了一些不安全的内容


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

我知道这是一篇老文章,但我也有同样的问题。对我有效的是使用

.done(function(data){
        console.log(data)}
而不是

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

            }

我知道这是一篇老文章,但我也有同样的问题。对我有效的是使用

.done(function(data){
        console.log(data)}
而不是

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

            }


在浏览器的调试工具中调试时,AJAX请求的网络响应是什么?除了
success
回调处理程序外,您还可以实现
error
回调处理程序并记录结果。@David,它显示了请求挂起,这样您就可以调试脚本了。您可以将断点放在您需要的行中,“挂起”表示请求处理。当您在浏览器上打开链接时,它工作正常?当您在浏览器的调试工具中调试此链接时,AJAX请求的网络响应是什么?除了
成功
回调处理程序外,您还可以实现
错误
回调处理程序并记录结果。@David,它显示请求挂起,以便您可以调试脚本。您可以将断点放在您需要的行中,“挂起”表示请求处理。当你在浏览器上打开链接时,效果很好?我已经在浏览器中试用了我在API调用中使用的链接。我在一家公司实习。当我在连接到他们网络的计算机上使用该链接时,它不起作用。当我在另一个网络上的手机上使用相同的链接时,效果很好。你知道我该怎么做吗您可以通过后端调用API(php文件\获取\内容)。所以事实上,它将是API包装器。没有完全理解你。你能详细说明一下吗,因为这是我第一次使用API。好的,你必须在后端编写一些功能(php或其他你有的东西)。此功能必须从您需要的API url获得响应。然后,您必须从后端请求中获得结果,并在前端网页中使用这些结果。OK将尝试。谢谢您的帮助。我已在浏览器中试用了API调用中使用的链接。我正在一家公司实习。在连接到其网络的计算机中使用该链接时,该链接不起作用。当我在计算机上使用相同的链接时我的手机在另一个网络上工作正常。你知道我如何克服这个问题吗?你可以通过后端调用API(php文件获取内容)。所以事实上,它将是API包装器。没有完全理解你。你能详细说明一下吗,因为这是我第一次使用API。好的,你必须在后端编写一些功能(php或其他你有的东西)。此功能必须从您需要的API url获得响应。然后,您必须从后端请求中获得结果,并在前端网页中使用这些结果。OK将尝试使用它。感谢您的帮助。