Ich bin neu in AngularJS und Webservices. Ich mache ein Programm, das Wert vom Benutzer bekommt -> [Name und Alter] und fügen Sie diese Werte in die Oracle-Datenbank ein. Ich konnte nur einen einzelnen Wert einfügen. Meine Suche nach $ http.post, um mehrere Werte zu übergeben, war nicht gut. Es wäre so hilfreich, wenn jemand helfen könnte. Hier ist der Code
Client-Seite Code
<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>
Server Side Java-Code
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();
}
}
}
diesen Code verwenden ich nur in der Lage bin einen einzelnen Wert $ scope.name einzufügen. Wie kann ich meinen Code ändern, um sowohl $ scope.name als auch $ scope.age Parameter über $ http.post an Server zu übergeben?
Eine eckige Anwendung sendet normalerweise JSON und empfängt JSON. Sie können natürlich etwas anderes senden und erhalten HTML, aber das macht es schwieriger als nötig. Warum senden und empfangen Sie JSON nicht einfach? –
@JBNizet Ja ... das war alles notwendig ... –