私はAngular JSの新しい初心者です。私はjspページからのデータを提出しようとしています。 Pojoオブジェクトにデータを注入しようとしています。しかし、私は '415サポートされていない'と言って例外が出てきています。私が間違っていたところで私を助けてください。サポートされていないメディアタイプanglejs
JSPページ:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Testing Tool</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
<script type="text/javascript">
var apps=angular.module('sampleApps',[]);
apps.controller('formController',function($scope, $http)
{
$scope.register=function()
{
var name=$scope.name;
var address=$scope.address;
alert(name + " , "+address);
var formData = {
name : name,
address : address
};
$http({
method : "POST",
url : "userdetails",
contentType: 'application/json',
mimeType: 'application/json',
/* data: {name: name,address:address} */
data:formData
}).then(function mySucces(response) {
//$scope.myWelcome = response.data;
alert("Success");
}, function myError(response) {
alert(response);
// $scope.myWelcome = response.statusText;
});
};
});
</script>
</head>
<body data-ng-app="sampleApps">
<div ng-controller="formController">
Name: <br/>
<input type="text" name="name" ng-model="name"/><br/>
Address: <br/>
<input type="text" name="address" ng-model="address"/><br/>
<input type="button" value="submit" ng-click="register()">
</div>
</body>
</html>
コントローラー:
@RequestMapping(value="/userdetails")
public @ResponseBody User getUserDetails(HttpServletRequest request,@RequestBody User data)
{
System.out.println(data);
return data;
}
POJOクラス:
public class User implements Serializable
{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
あなたが使用しているより長い表記法の代わりにAngularの '$ http.post'短縮形を使ってみてください。 'content-type'や' mime-type'を手作業で提供することで、あなたはそれを乱すかもしれません。 – glcheetham
私もショートカットを使用しても、同じ例外が発生しています – Navyah