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の規則により、サービス プロバイダーがリクエストの送信方法を気に入らないのでしょうか?

関連トピックを見つけることができましたが、提供されたソリューションは機能しませんでした。そのプランカーで気軽に試してみてください --- 1.1.5
delete $httpProvider.defaults.headers.common['X-Requested-With'];
を使用していることに注意してください。

4

1 に答える 1

1

アップデート

あなたのplnkrは私のために働いた...ちょっと。次の応答が返されます。

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

ドキュメントによると:

ジョブは、画像に対して実行される 1 つ以上の機能の集合です。ジョブ 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 に答える