我只是想测试 JQuery AJAX,我会慢慢来。我在浏览器上打开该文件并使用 chrome 开发工具找出发生了什么,它说状态代码是 404。这告诉我我的 GET 没有任何进展?代码如下:
$(document).ready(function()
{$(".search button").click(function()
{getWeather(
$(".search-bar").val()
)}
)}
);
function getWeather(city) {
var metric = "&units=metric";
var myAPI = "4f41b20d31ef924373402ebf9b9fe310";
var url="api.openweathermap.org/data/2.5/forecast?q=" + city + metric + "&appid=" + myAPI;
$.getJSON(url, function(data)
{
console.log(data);
})
}
我检查了我的网址和所有内容,但我一直得到同样的东西。到目前为止我的代码有问题吗?现在这是一个简单的代码,但我不知道出了什么问题。
您缺少 URL 的根:
var url="//api.openweathermap.org/data/2.5/forecast?q=" + city + metric + "&appid=" + myAPI;
// ^-- here
否则,当您告诉浏览器向
api.openweathermap.org
发出请求时,从结构上讲,这与向 index.html
或您自己服务器上的任何其他资源发出请求没有什么不同。如果不指定 //
来表示这是一个不同的主机,浏览器将从相对于当前页面的当前主机请求这个,这可能会变成这样:
https://localhost:12345/mypracticeproject/api.openweathermap.org/data/2.5/forecast?q=...
哪个可能不是你想要的。您不需要包括完整的协议(
http
或 https
),但至少需要包括 //
.