2017-06-02 55 views
-1
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope, $http) { 
    $scope.submitForm = function(cl) { 
    console.log(cl); 
    $http({ 
     method: 'POST', 
     url: "updated-profile", 
     data: { 
     cl: cl 
     }, 
    }).then(function successCallback(response) { 
     console.log("updated successfully"); 
     $scope.success = "Updated successfully"; 
    }, function errorCallback(response) { 
     console.log("not updated"); 
     $scope.error = "Unable to update"; 
    }); 
    } 
}); 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script> 
<div ng-app="myApp" ng-controller="myCtrl"> 
    <div ng-repeat="cl in clientList"> 
    <div id="error-messages" ng-show="error">{{error}}</div> 
    <div id="success" ng-show="success">{{success}}</div> 
    <div class="form-group"> 
     <div class="col-lg-4 col-md-4"> 
     <label for="fname">First Name</label> 
     </div> 
     <div class="col-lg-8 col-md-8 "> 
     <input type="text" class="form-control" placeholder="First Name" ng-model="cl.fname" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-lg-4 col-md-4"> 
     <label for="lname">Last Name</label> 
     </div> 
     <div class="col-lg-8 col-md-8"> 
     <input type="text " class="form-control" ng-model="cl.lname" /> 
     </div> 
    </div> 
    </div> 
    <div class="form-group"> 
    <div class="col-lg-4 col-md-4"> 
     <label for="submit" class="sr-only">Update</label> 
    </div> 
    <div class="col-lg-8 col-md-8"> 
     <input type="button" class="form-control btn btn-success" id="update" ng-click="submitForm(cl)" name="Update" value="Update" /> 
    </div> 
    </div> 
</div> 

我使用上面的代碼將數據發送到服務器。 我的服務器代碼是角柱發送空值到服務器

public class Update extends ActionSupport { 

    private Client cl = new Client(); 
    private String fname; 
    public String update() { 
     System.out.println("testing this"); 
     System.out.println("client detail " + cl.getFname() + " " + 
          cl.getLname()); 
     System.out.println("fname"+getFname()); 
    } 
} 

我越來越

client detail null null 
fnamenull 

如果我使用data: {fname: cl.fname},然後還fnamenull。 我無法使用角度傳遞任何值來操作。 這裏有什麼問題? 這裏做了哪些修改才能正確工作?

+0

angularjs已被棄用 –

+0

如何角JS是depricated? – xrcwrn

+0

您使用的angularjs版本已過時。 –

回答

0

你的按鈕

<input type="button" class="form-control btn btn-success" id="update" ng-click="submitForm(cl)" name="Update" value="Update" /> 

有可能成爲ng-repeat循環內,否則將無法訪問該cl對象是本地的ng-repeat範圍。

或者,如果您希望該按鈕爲「全局」,則可以提交ng-submit中的整個clientList,然後遍歷控制器內的數組。這取決於你的流程以及你需要什麼類型的UX/UI。

+0

是ng-repeat中的提交按鈕 – xrcwrn

+0

您在原始代碼中提交的代碼沒有「ng-repeat」中的按鈕。請再次檢查模板。 –

0
$http({ 
    method: 'POST', 
    url: "www.mylocalhost.com/api/updated-profile", 
    data: { 
    cl: cl 
    }, 
}); 

當您調用$ http服務「url」參數時,包含一個適當的api路徑。只需使用有效的API網址即可。我希望它會起作用。

或者 改變 「CL」:$ scope.clientList