Auf Knopfdruck ich eine Methode aufrufen Getdata(); aber das Problem ist, wenn die Seite zum ersten Mal geladen wird, wenn ich auf die Schaltfläche klicke, dann bekomme ich "HTTP error" Antwort. aber wenn ich erneut auf den Knopf klicke, wird die Erfolgsantwort angezeigt.Angular HTTP funktioniert nicht beim ersten Klick
HTML
<button type="submit" class="btn btn-primary form-inline inline-Magrin" ng-click="Getdata()">Search</button>
JS
$scope.Getdata = function() {
if (($scope.NumberOfrecords > $scope.TotalRecords) && ($scope.TotalRecords != 0)) {
alert("Search record count should not be greater than total records");
return;
}
debugger;
$http({
url: '/scrap/Resultdata',
method: "GET",
params: {
Searchbox: $scope.Searchbox,
Category: $scope.Category,
NumberOfrecords: $scope.NumberOfrecords
}
}).then(
function successCallback(response) {
response = $scope.filterRecord(response);
debugger;
$scope.data = response.data.ResponseItems;
$scope.TotalRecords = response.data.TotalResults;
$scope.tableParams = new NgTableParams({
page: 1,
count: 10
}, {
data: $scope.data
});
},
function errorCallback(response) {
debugger;
alert("error");
});
}
Die Fehler in Ihrer Konsole sind nicht für eine Anfrage nach '/ scrap/Resultdata'. Sehen Sie sich Ihren Netzwerkverkehr an und sehen Sie, was der Unterschied ist, wenn die Anfrage funktioniert und nicht funktioniert. Ich vermute, einige Ihrer '$ scope' Variablen werden beim ersten Mal nicht initialisiert. – rob
Versuchen Sie' type = "button" 'anstelle von' type = "submit" ' – Jer
Sie vermasseln Ihre URL irgendwo, aber nicht in der eingefügter Code. – neptune