【发布时间】:2018-09-11 05:35:35
【问题描述】:
我正在尝试将天气 api 用于基本网站,并且我也想使用图标。该请求在两种环境中都有效,但在我的本地环境中,我收到图标错误
获取文件://cdn.apixu.com/weather/64x64/night/116.png net::ERR_FILE_NOT_FOUND
我认为它与 https 相关,但可能不是,因为它只是不会加载的图像。
const key = 'b7e1e81e6228412cbfe203819180104';
const url = `https://api.apixu.com/v1/current.json?key=${key}&q=auto:ip`
const main = document.getElementById('main');
$.getJSON( url, function(json) {
const loc = json.location;
const cur = json.current;
const condition = {text: cur.condition.text, icon: cur.condition.icon}
main.innerHTML = `<img src = ${condition.icon}><div>${condition.text}</div>`
}
所以${cur.condition.text} 将显示“部分多云”,但图标不显示。有什么建议吗?
更新:似乎在实时服务器上运行良好。
【问题讨论】:
-
您的 img 语法错误,
=周围不应有空格,值应由"包围。condition.icon的值是多少?看起来它正在尝试获取File而不是URL。 -
感谢有关空格的提示,但我不能在变量周围加上引号,因为那样它们将被读取为字符串文字。我不认为这是问题所在,因为 condition.text 工作正常。 condition.icon 的值为cdn.apixu.com/weather/64x64/night/116.png
-
请分享您的 HTML 代码
-
您是在本地测试您的文件,所以 URL 以
file:开头? -
它们不是我的文件,我是从天气 api 生成的 json 文件中提取它们的。我切换到实时服务器,它现在正在工作。我仍然很好奇为什么,所以我会留下这个问题。感谢您的帮助。
标签: javascript jquery ajax api weather