我有一个使用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日志中,我总是看到HTTP OPTIONS请求:
[14/Aug/2013 12:24:12] "OPTIONS /cemeteries/ HTTP/1.1" 200 10245
在Firebug中,它显示“状态代码为0的错误”。
知道我做错了什么吗?在此先感谢您的帮助!
此致 菲尔
答案 0 :(得分:3)
您看到OPTIONS
请求的原因可能是由于浏览器发出了飞行前CORS请求。如果是这种情况,您可能需要查看已知与REST框架很好地结合的https://github.com/ottoyiu/django-cors-headers。