मैं एक Django बैकएंड मेरे द्वारा बनाए गए रिकॉर्ड को लाने के लिए restangular का उपयोग कर एक AngularJS आधारित दृश्यपटल है।AngularJS/Restangular मार्ग "सेट नहीं कर सकता गुण अपरिभाषित की 'मार्ग'"
मैं निम्नलिखित के साथ एक ग्राहक सूची के लिए एक कॉल बना रही हूँ:
var app;
app = angular.module("myApp", ["restangular"]).config(function(RestangularProvider) {
RestangularProvider.setBaseUrl("http://172.16.91.149:8000/client/v1");
RestangularProvider.setResponseExtractor(function(response, operation) {
return response.objects;
});
return RestangularProvider.setRequestSuffix("/?callback=abc123");
});
angular.module("myApp").controller("MainCtrl", function($scope, Restangular) {
return $scope.client = Restangular.all("client").getList();
});
क्रोम पर HTTP 200 के साथ डेटा लौटने बैकएंड दिखा रहा है:
abc123({
"meta": {
"limit": 20,
"next": "/client/v1/client/?callback=abc123&limit=20&offset=20",
"offset": 0,
"previous": null,
"total_count": 2
},
"objects": [{
"id": 1,
"name": "Test",
"resource_uri": "/client/v1/client/1/"
}, {
"id": 2,
"name": "Test 2",
"resource_uri": "/client/v1/client/2/"
}]
})
लेकिन वह मैं होता है एक बार क्रोम के कंसोल में निम्नलिखित स्टैक ट्रेस दिखाई दे रहा है:
TypeError: Cannot set property 'route' of undefined
at restangularizeBase (http://172.16.91.149:9000/components/restangular/src/restangular.js:395:56)
at restangularizeCollection (http://172.16.91.149:9000/components/restangular/src/restangular.js:499:35)
at http://172.16.91.149:9000/components/restangular/src/restangular.js:556:44
at wrappedCallback (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:6846:59)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:6883:26
at Object.Scope.$eval (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:8057:28)
at Object.Scope.$digest (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:7922:25)
at Object.Scope.$apply (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:8143:24)
at done (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:9170:20)
at completeRequest (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js:9333:7) angular.js:5754
मैंने ब्रेकपॉइंट किया restangular.js में में लाइन 395 पर:
L394 function restangularizeBase(parent, elem, route) {
L395 elem[config.restangularFields.route] = route;
पहली बार यह ब्रेकप्वाइंट elem
हिट सिर्फ एक वस्तु है और route
client
का मूल्य है।
दूसरी बार ब्रेकपॉइंट मारा जाता है elem
अपरिभाषित है और route
का मूल्य client
है।
कोई भी विचार क्यों elem
के आसपास दूसरी बार अपरिभाषित किया जाएगा?
@ mark-l मेरा सुझाव है कि आप इसे उत्तर के रूप में चिह्नित करें। धन्यवाद। –