Django-rest-frameworkを使用してデータを公開しているDjangoアプリケーションがあります。次のようにjson形式でオブジェクトにアクセスできます。
curl http://localhost:8000/cemeteries/
または
curl http://localhost:8000/cemeteries/2/
現在、AngularJSを使用してデータにアクセスしようとしています。私はrestangularを選択しましたが、これは十分に単純に思えました。私はそのようにrestangularを設定しました:
demoApp.factory('CbgenRestangular', function(Restangular) {
return Restangular.withConfig(function(RestangularConfigurer) {
RestangularConfigurer.setBaseUrl('http://localhost:8000');
});
});
そして私のコントローラーで:
demoApp.controller('SimpleController', function($scope, simpleFactory, CbgenRestangular, $location){
$scope.customers = [];
CbgenRestangular.all("cemeteries/").getList().then(function() {
console.log("All ok");
}, function(response) {
console.log("Error with status code", response.status);
});
問題は、Djangoログに常にHTTPOPTIONSリクエストが表示されることです。
[14/Aug/2013 12:24:12] "OPTIONS /cemeteries/ HTTP/1.1" 200 10245
Firebugでは、「ステータスコード0のエラー」と表示されます。
私が間違っていることは何ですか?よろしくお願いします!
よろしく、フィル
OPTIONS
リクエストが表示されている理由は、ブラウザがフライト前のCORSリクエストを行っていることが原因である可能性があります。その場合は、RESTフレームワークとうまく連携することが知られているhttps://github.com/ottoyiu/django-cors-headersをご覧ください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加