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);
}

positionHTML5を介して呼び出す私の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

多くの受け入れられた回答があるこのサイトを含む、問題をグーグルで検索したときに見つけた数十のWebサイトによると、これは正しい解決策です。しかし、私にとってはうまくいきません!私はおかしくなりそうだ!このコードの何が問題になっていますか?

注: 私はIfModuleでそのようなことをテストしました.htaccess。どちらも機能しません。

前もって感謝します。

4

1 に答える 1

1

あなたのサイトに追加するaccess-control-allow-originと、他のサイトがあなたのサイトを呼び出すことができます。

必要なのは、情報フォーム(この場合は「api.yr.no」)を読んでいるサイトにこのヘッダーを追加することです。このサイトを管理できない場合は、所有者がそのようなヘッダーを追加できるかどうかを所有者に確認するか、サーバー側のプロキシアプローチを使用してください。

于 2012-11-19T05:04:55.413 に答える