我正在使用 AngularJS Restangular 对我在 http://www.mockable.io 上创建的模拟 REST API 进行 POST
我的代码很简单...
RestangularProvider.setBaseUrl("http://demo1461049.mockable.io");
var newBranch = {"test":"test"}
var branches = Restangular.all("branches");
branches.post(newBranch);
我注意到的第一个问题是它执行的是 OPTIONS 请求而不是 POST 请求。我看到有人说这是因为它正在执行 CORS 请求(本地主机到 mockable.io)。我还没有弄清楚 CORS 是如何工作的,但我设置了 Mocakable 以便它接受选项。我现在收到以下错误...
Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
我已经看到一些关于此错误的帖子,但它们都是来自试图创建自己的 API(通常是 ASP.NET)的人。这是我需要设置但不能因为 Mockable 不允许您设置的选项吗?这看起来很奇怪,因为 Mockable 的全部意义在于您向它发出跨域请求。
我们将不胜感激任何帮助。
最佳答案
您收到的错误是服务器响应。除非您可以编辑服务器允许的关于 CORS 的 header ,否则您会遇到麻烦。
我自己没有使用 mockable,但他们似乎支持 CORS,所以如果他们没有编辑 CORS header 的选项,我会感到惊讶。
我有一个私有(private) API 的 CORS 实现示例,它是最常见的 header :
CORS_ALLOW_HEADERS = (
'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
)
为 mockable 和您的家庭安全找到类似的东西
关于javascript - Restangular POST 返回访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132701/