現在、小さな AngularJS プロジェクトを開発していて、フロントエンドから始めているので、純粋な HTML と JavaScript です。
ただし、ngResource を使用していくつかの API 呼び出しを行う必要があります。現時点では、cannedを使用して json の戻り値をモックしています。
これが JSON を返すとします。
GET http://ip-address/something/1.json
これを ngResource から呼び出せるようにしたい:
app.controller('SomethingCtrl', function ($scope, $resource) {
Something = $resource("http://ip-address/something/:id", {id: "@id"});
$scope.something = Something.get({id:1});
});
エンドポイントは正しく機能していますが、何らかの理由でこれが機能しません。Angular は、この URL に対してオプション リクエストを行うだけです。
これはある種の XSS 保護マジックですか?どうすれば解決できますか?
更新: 例に IP アドレスを追加しました
編集:
CORS が許可されるように、モック API サーバーを変更しました。
このヘッダーを返すと、OPTIONS リクエストが通過します
Access-Control-Allow-Headers:X-Requested-With
Access-Control-Allow-Max-Age:86400
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, HEAD, OPTIONS
Access-Control-Allow-Origin:*
しかし、現在、get リクエストはキャンセルされます (応答が返されません)。Angular はある種の魔法を使っていると思います。