我开始使用Restangular从我的AngularJS应用程序发送RESTful请求。我在http://localhost:20080/v1/customer
上部署了一个REST服务,它生成带有客户信息的JSON。
当我调试AngularJS应用程序时,它会在后端REST服务中遇到断点,但是在浏览器控制台中它始终记录“找不到状态码为0的客户”。而且,我从来没有在我注册为setResponseExtractor的函数中命中断点。
我也没有在控制台中看到任何错误。
当我在浏览器中打开http://localhost:20080/v1/customer
时,我得到以下回复:
[{"customerInfo":{"name":"My Name","email":"My Email"},"id":"6ca43d0f-94a8-36e8-af3d-963584573d6d"}]
我的Restangular代码如下:
var customerModule = angular.module('customer-module',
['restangular' ]).config(
['RestangularProvider', '$httpProvider',
function (RestangularProvider, $httpProvider)
{
RestangularProvider.setBaseUrl('http://localhost\\:20080/v1');
RestangularProvider.setResponseExtractor(function (response, operation, what) {
return response;
});
...
customerModule.controller('CustomerCtrl',
[ '$scope', 'Restangular', function ($scope, Restangular)
{
var baseCustomers = Restangular.all("customer");
$scope.customers = baseCustomers.getList().then(function (result) {
console.log("Got customers", response.status);
}, function (response) {
console.log("Failed to find customers with status code", response.status);
});
思想?
答案 0 :(得分:2)
我是Restangular的创造者。
如果您刚刚返回响应,也不必将responseExtractor添加到配置中。这就是默认情况下的作用。
如果您有任何其他问题,请与我联系!
答案 1 :(得分:1)
问题原来是访问与我的AngularJS应用程序不同的端口上运行的REST服务。
我正在将此主题移至AngularJS邮件列表 - "Problems with a basic $resource.get() call"
艾力