【问题标题】:AngularJS badcfg on 'GET' request'GET'请求上的AngularJS badcfg
【发布时间】:2015-11-27 18:42:19
【问题描述】:

我有一个 API 可以根据给定的 ID 向 AngularJS 返回数据,但是,当数据以 JSON 格式返回时,AngularJS 会抛出一个“badcfg”错误,我理解这是由于返回数据,但不知道如何修复它...

工厂:

app.factory('Companies', function($resource) {
    return $resource('/api.php/companies/:id', {id:'@id'}, {
        'query': {method: 'GET', isArray: true},
        'save': {
            method: 'POST',
            isArray: true,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            transformRequest: function(obj) {
            var str = [];
            for(var p in obj)
                str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
            return str.join("&");
        }},
        'delete': {method: 'DELETE'}
    });

});

控制器:

app.controller("ViewCompaniesController", ['$scope', 'Companies', '$routeParams', function($scope, Companies, $routeParams) {
    $scope.title = 'View';

    var companyId = $routeParams.id;

    var theCompany = Companies.get({ id: companyId }, function() {
        console.log(theCompany);
    });
}]);

错误:

操作 Error in resource configuration for action{0}. Expected response to contain an {1} but got an {2} (Request: {3} {4}) 的资源配置错误。预期的响应包含一个 得到但得到了一个对象(请求:数组GET)

有人可以帮忙解决这个问题吗?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    根据the ng-doc,您没有使用您定义的请求:

     var theCompany = Companies.query({ id: companyId }, function() {
            console.log(theCompany);
        });
    

    【讨论】:

    • 完美!谢谢你。愚蠢的我忘记改变这一点。现在我设置 $scope.company = theCompany,并且执行 {{ company }} 会打印出所有值,但是这样做,例如 {{ company.id }} 不会打印 id?
    • 你应该为此打开一个新问题。但在我看来,您似乎没有更新公司或正确存储它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2013-08-17
    • 2018-07-25
    相关资源
    最近更新 更多