0

我正在开发一个向服务端点发出 CORS 请求的 API 模块:
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

我之前已经为ImgurMandrillBlogger开源了其中一些 API 模块,但这是我第一次使用Blitline看到这个问题。

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

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

4

1 回答 1

1

更新

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

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

根据文档

作业是要在图像上执行的一个或多个功能的集合。提交给作业 api 的数据必须有一个“json”键和一个字符串值。该字符串必须包含格式正确的 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

于 2013-07-08T13:51:43.923 回答