Bearbeiten: Entschuldigung für die Beantworter, es stellt sich heraus, dass dies tatsächlich gültigen Code war, aber Anforderungen wurden abgefangen und aller Parameter entfernt.Senden mehrerer GET-Anforderungen mit wechselnden Parameter in AngularJS
Ich versuche, auf ein REST-API wiederholt HTTP GET-Anforderungen zu machen, auf dem Ausgang abhängig und die Lösung von this question verwendet hat.
Ich möchte jedoch einen der Parameter erhöhen, die ich in der Anfrage übergebe. Im Wesentlichen, die API-Seiten die Ausgabe und ich muss den Wert von entsprechend erhöhen.
Manuelle Anfragen funktionieren mit:
<URL>/board?startAt=50
und geben zurück:
{"maxResults":50,"startAt":50,"isLast":true,"values":[list_of_values]}
hier so weit mein Code ist:
:function getHttpPromise(start_at) {
// This function recurses until the server returns isLast = true.
//
// Each iteration appends the values in response.values to
// $scope.boards.
test = $http({
url: 'boards',
method: 'GET',
params: {'startAt': start_at.toString()}
}).
success(function (response) {
console.log(response); // the response contains startAt, which always has
// the initial value (0), rather than start_at's value
var values = response.values;
for (var i in values) {
var board = values[i];
$scope.boards[board.id] = board;
}
if (response.isLast) {
// We have received all the boards.
return true;
} else {
// Increment start_at and return another http request promise.
start_at += response.maxResults;
return getHttpPromise(start_at);
}
}
);
console.log(test); // params is correct here
return test;
}
Diese Funktion wird durch genannt wird
jiraWorkLog.controller('SprintSelectCtlr',
function($scope, $http, $routeParams) {
$scope.init = function() {
$scope.boards = new Object();
getHttpPromise(0).then(
function (dummy_var) {
for (var board in $scope.boards) {
...
}
}
);
}
...
);
was in der Konsole sehen Sie sehen, wenn Sie 'console.log tun (respo nse.maxResults); 'vor dem Hinzufügen zu' start_at'? Was sehen Sie, wenn Sie 'console.log (start_at);' vor und nach dem Wert inkrementieren? – Nope
wo nennst du das ** getHttpPromise ** ?? – Aravind
@Fran wird der Wert korrekt inkrementiert ('response.maxResults = 50' und' start_at = 0 => start_at = 50' etc.). @Aravind Ich habe meine Frage entsprechend bearbeitet. Es ist in unserem "SprintCtlr" -Objekt. –