【发布时间】:2016-03-31 07:41:32
【问题描述】:
我是 Angular JS 的新手。我正在尝试使用 Angular js 从 jsp 页面提交数据到 spring mvc 控制器。我正在尝试将数据注入 Pojo 对象。但我收到异常说“415 不受支持”。请帮助我哪里出错了。
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可能会搞砸它。 -
即使我也使用捷径,我也会遇到同样的异常
标签: angularjs spring-mvc