我是AngularJS和Web服務的新手。 我正在做一個程序,從用戶獲取價值 - > [名稱和年齡],並將這些值插入到oracle數據庫。我只能插入一個值。我使用$ http.post傳遞多個值的搜索結果並不理想。 如果有人能提供幫助,這將非常有幫助。 下面的代碼
客戶端代碼
<html>
<title>My AngularJS App</title>
<body ng-app="myApp" ng-controller="DBCtrl">
<script type ="text/javascript" src="https://ajax.googleapis.co/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<form ng-submit="insertData()">
Student name: <input type = "text" ng-model="name" >
Student age: <input type= "text" ng-model="age">
<br>
<input type ="submit" value="INSERT">
</form>
<p>{{msg}}</p>
<script>
var app = angular.module('myApp',[]);
app.controller('DBCtrl', function($scope,$http){
$scope.insertData = function(){
alert($scope.name);
$http.post('rest/DB/add',$scope.name)
//$http.get("rest/DB/extract")
.success(function(){
$scope.msg="DATA INSERTED";
})
}
});
</script>
</body>
</html>
服務器端Java代碼
package com.ustri.DBman;
@Path("/DB")
public class DBManager {
@POST
@Path("/add")
@Produces(MediaType.TEXT_HTML)
public void addDetails(String sname,String sage){
System.out.println("IN add");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
//step3 create the statement object
System.out.println("Connection established successfully");
PreparedStatement stmt=con.prepareStatement("insert into studreg values(?,?)");
System.out.println(sname+"+"+sage);
stmt.setString(1,sname);
stmt.setString(2,sage);
int i=stmt.executeUpdate();
System.out.println(i+" records inserted");
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
使用此代碼,我只能插入一個價值$ scope.name。 如何修改我的代碼以通過$ http.post將$ scope.name和$ scope.age參數傳遞給Server?
角度應用程序通常發送JSON並接收JSON。你當然可以發送其他東西,並接收HTML,但這使得它比必要的更難。你爲什麼不直接發送和接收JSON? –
@JBNizet是的...這是所有必要的... –