2014-04-23 23 views
0

我想在我的應用程序中使用AngularJS,並且在初始階段我遵循普通的HTML進行前視圖和後端藥水的使用servlet和ejb類,我在CURD之後組織SQL查詢應用程序的方法,這工作得很好。然後,我在$scope方法中應用了包含Ajax調用的AngularJS。一旦我創建了一個名爲「btnadd()」的Ajax方法,但現在我無法傳遞一個值,因爲頁面指向了一個servlet。任何一個可以幫助我HTML post方法vs AngularJS

<html ng-app="helloApp"> 
</head> 
    <body> 
    <div ng-controller="demoApp"> 
     <form name="frm" method="post" action="Srvlet"> 
     <input type="submit" name="btnadd" value="Add" ng-click="btnadd()"/> 

我在JS文件的方法:

$scope.btnadd = function() { 
    $.ajax({ 
     url: 'Srvlet', 
     type: "POST", 
     data: { 
       datepicker: $scope.newcontact.datepicker, 
       eId: $scope.newcontact.eId, 
       name: $scope.newcontact.name, `enter code here` 
       cmp: $scope.newcontact.cmp 
       }, 
     success: function(data, textStatus, jqXHR) { 
      console.log(data); 
      $scope.$apply(function(){ 
       $scope.newcontact.addRecordResult = data.addRecordResult; 
      }); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      console.log('Error : ' + jqXHR.responseText); 
     } 
    }); if($scope.newcontact.eId == null) { 
      $scope.newcontact.eId = departmentID++; 
      $scope.Departments.push($scope.newcontact); 
     } else { 
      for(i in $scope.Departments) { 
       if($scope.Departments[i].eId == $scope.newcontact.eId) { 
        $scope.Departments[i] = $scope.newcontact; 
       } 
      } 
     } 
    $scope.newcontact = {}; 
}; 

回答

0

您好,歡迎計算器

我假設方法btnadd()連接到一個提交按鈕,其中案件將進入行動。有幾個可能的解決方案,即改變提交按鈕標準按鈕不會發送形式,而是將調用方法和/或添加onsubmit="return false;"形成,這將防止從形式發送

雖然你爲什麼不使用angularjs $http代替jQuery的? https://docs.angularjs.org/api/ng/service/ $ http