我们目前正在开发一个小的 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 地址添加到示例
编辑:
我已经更改了模拟 API 服务器,因此允许使用 CORS。
我现在返回此标头,并且 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 有某种魔力。