我正在开发一个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
答案 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