2017-05-19 4 views
1

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"); 
     }); 
} 

console image

+1

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

+0

Versuchen Sie' type = "button" 'anstelle von' type = "submit" ' – Jer

+0

Sie vermasseln Ihre URL irgendwo, aber nicht in der eingefügter Code. – neptune

Antwort

1

Knopf war "Eintragen", sollte es "Knopf" sein

<button type="button" class="btn btn-primary form-inline inline-Magrin" ng-click="Getdata()">Search</button> 
1

, wenn Sie mit der als Typ einreichen, dann müssen Sie die Tags in den HTML-Code hinzufügen,

und in Form -------- OnSubmit = GetData()

Bitte versuchen Sie stattdessen mit type = button

Verwandte Themen