我正在尝试测试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和所有东西,但我一直得到同样的东西。到目前为止,我的代码有什么问题吗?这是一个简单的代码,但我不知道哪里出错了。
你错过了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
),但至少需要包含//
。