Restangular POST返回Access-Control

时间:2014-03-02 20:03:18

标签: javascript angularjs rest restangular

我正在使用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请求(Localhost to mockable.io)。我还没有设法确切地知道CORS是如何工作的,但我设置了Mocakable所以它会接受OPTIONS。我现在得到以下错误......

 Request header field Content-Type is not allowed by Access-Control-Allow-Headers.

我已经看到了一些关于此错误的线索,但它们都是来自尝试创建自己的API(通常是ASP.NET)的人。这是我需要设置的选项但不能,因为Mockable不允许你这样做吗?这看起来很奇怪,因为Mockable的重点在于你向它发出跨域请求。

真的很感激任何帮助。

1 个答案:

答案 0 :(得分:2)

您得到的错误是服务器响应。除非您可以编辑服务器允许的CORS中的标题。

我自己并没有使用mockable,但他们似乎有CORS支持,所以如果他们没有编辑CORS标题的选项我会感到惊讶。

我对私有API的CORS实现示例,这是最常见的标头:

CORS_ALLOW_HEADERS = (
'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
)

找到类似于mockable和家庭安全的东西