【问题标题】:Getting Error while calling open weather Api using Ajax?使用 Ajax 调用开放天气 Api 时出错?
【发布时间】:2018-02-06 19:01:47
【问题描述】:

我正在尝试调用开放天气 API 端点来检索天气数据。我正在使用 ajax 调用来这样做。但我无法检索以错误结尾的数据

拒绝执行脚本 'http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b22143fb388a8a942c07908dad1c1c90&callback=jQuery110200018843492128348682_1517942950649&_=1517942950650' 因为它的 MIME 类型('application/json')是不可执行的,并且 已启用严格的 MIME 类型检查。

代码截图:

【问题讨论】:

标签: jquery ajax


【解决方案1】:

查看该 API 端点后,您需要在您的服务器上构建一个代理文件。

您可以不理会您的 ajax 请求,但将其指向 /your/domain/file.php

从那里,在 PHP 文件中,发出后端服务器到服务器请求并将结果返回给客户端。

这将绕过 CORS 限制和不正确的 Mime 类型(chrome 阻止它加载)

【讨论】:

  • 无法加载samples.openweathermap.org/data/2.5/…:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin 'localhost:27481'。
  • 在不使用 jsonp 的情况下使用会产生上述错误并且缓存 true 不起作用
  • 您可能需要在您的服务器上构建一个代理来代理来自同一域的请求以绕过 CORS。查看后,他们的 jsonp 没有返回正确的 MIME 类型,并且在 chrome 中不起作用
猜你喜欢
  • 1970-01-01
  • 2015-02-22
  • 2018-09-13
  • 2021-12-23
  • 2018-09-11
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2017-06-16
相关资源
最近更新 更多