![](/img/trans.png)
[英]Safari fails XMLHttpRequest (POST) with ' Request header field Content-Type is not allowed by Access-Control-Allow-Headers'
[英]Request header field Content-Type is not allowed by Access-Control-Allow-Headers 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
约定,服务提供商是否不喜欢将请求发送给他们的方式?
我能够找到一个相关主题,但是提供的解决方案无效。
delete $httpProvider.defaults.headers.common['X-Requested-With'];
随便尝试一下那个矮子---我应该注意我正在使用1.1.5
更新
您的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
位线在其网站上有一个有效的示例,您可以在此处查看: http : //www.blitline.com/docs/sample
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.