0

我的 PHP 文件顶部有这一行(准确地说是在第 3 行):header('Access-Control-Allow-Origin: *');

然后,在 PHP 文件的底部我有这个XMLHttpRequest

var coordinates_latitude = position.coords.latitude.toFixed(6);
var coordinates_longitude = position.coords.longitude.toFixed(6);
var req = new XMLHttpRequest();

req.open('GET', 'http://api.yr.no/weatherapi/locationforecast/1.8/?lat=' + coordinates_latitude + ';lon=' + coordinates_longitude, false); 
req.send();
if(req.status == 200) {
    alert(req.responseText);
}

position是我通过 HTML5 调用的 GPS 位置。现在到我的问题。我不断收到以下错误消息:

XMLHttpRequest cannot load http://api.yr.no/weatherapi/locationforecast/1.8/?lat=59.378217;lon=13.504219. Origin http://localhost:8081 is not allowed by Access-Control-Allow-Origin.
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

根据我在谷歌上搜索我的问题时发现的几十个网站,包括这个有许多公认答案的网站,这是正确的解决方案。但对我来说它不起作用!我要疯了!这段代码有什么问题?

注意:我已经IfModule.htaccess. 也不行。

提前致谢。

4

1 回答 1

1

access-control-allow-origin您的站点上添加允许其他站点调用您的站点。

您需要将此标题添加到您正在阅读信息表单的站点(在您的情况下为“api.yr.no”)。如果您无法控制此站点,请与所有者核实所有者是否可以添加此类标头或使用服务器端代理方法。

于 2012-11-19T05:04:55.413 回答