请求标头字段Access-Control-Allow-Headers AngularJS不允许使用Content-Type

时间:2013-07-08 13:34:20

标签: javascript angularjs

我正在开发一个API模块,它向服务端点发出CORS请求:
https://github.com/gigablox/angular-blitline-api

见这里的演示:
http://plnkr.co/FjnJbHQHG5MM7P0VbtV6

您将注意到在进行API调用时,我收到以下错误消息:
Request header field Content-Type is not allowed by Access-Control-Allow-Headers

我之前为 Imgur Mandrill Blogger ---开放了一些这些API模块,但是这是我第一次使用 Blitline 看到这个问题。

我的代码中是否存在问题,或者服务提供商是否因为某些AngularJS $http约定而不喜欢请求发送给他们的方式?

我能够找到related topic但是提供的解决方案不起作用 delete $httpProvider.defaults.headers.common['X-Requested-With'];
随意尝试与那个plunker ---我应该注意我使用 1.1.5

1 个答案:

答案 0 :(得分:1)

<强>更新

你的plnkr为我工作......有点儿。我收到以下回复:

{"results":"Sorry, 'json' key expected in post data. For example { \"json\": \"{...}\" }. Please check the Blitline examples."}

根据docs

  

作业是要对其执行的一个或多个函数的集合   图片。提交给作业api的数据必须具有“json”和a的密钥   值是一个字符串。字符串必须包含正确格式化   JSON。

您应该以这样的格式提交POST:

angular.module('myApp', ['blitline'])

.config(['$blitlineGlobalProvider', function($blitlineGlobalProvider) {
  $blitlineGlobalProvider.options({
        json: '{"application_id": "YOUR_ID","version": 2,"src": "http://cdn.blitline.com/filters/boys.jpeg","functions": [{"name": "resize_to_fit","params": {"width": 240,"height": 140},"save": {"image_identifier": "external_sample_1"}}]}'
    });
}])

.controller('blitlineTest', ['$scope', '$blitlineJob', function($scope, $blitlineJob) {
    var blitlineJob = $blitlineJob.blitlineJob();
    blitlineJob.job(function(job) {
        console.log(job);
    });
}]);

以下是更新的plnkr:http://plnkr.co/edit/qV7sEf?p=preview

Bitline在他们的网站上有一个工作示例你可以在这里看到它: http://www.blitline.com/docs/sample