AngularJSとWebサービスの初心者です。 私はユーザーから値を取得するプログラムを実行しています - > [名前と年齢]とそれらの値をoracleデータベースに挿入します。私は1つの値を挿入することしかできませんでした。 $ http.postを使用して複数の値を渡す検索がうまく行かなかった。 誰かが助けてくれると大変助かります。 は、ここで私は、単一の値$ scope.nameを挿入することができる午前コード
クライアント側のコードにこのコードを使用して
<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と$ scope.ageパラメータを$ http.postからServerに渡すようにコードを変更するにはどうすればよいですか?
角度アプリケーションは、通常JSONを送信し、JSONを受信します。もちろん、何か他のものを送ることができ、HTMLを受け取ることができますが、これは必要以上に難しくなります。 JSONを送受信してみませんか? –
@JBNizetはい...それはすべて必要でした... –