java - HTTP 状态 415 – 使用 Angular js 的 Spring MVC 中出现不支持的媒体类型错误

标签 java angularjs spring http http-status-code-415

源服务器拒绝为请求提供服务,因为目标资源上的此方法不支持有效负载的格式。 Controller 类

@RequestMapping(value="/register", method = RequestMethod.POST)
    public ModelAndView doRegister(@RequestBody UserBean userBean, BindingResult result)
    {
        ModelAndView view = new ModelAndView("index");
        if(!result.hasFieldErrors())
        {
            if(retrieveService.insert(userBean) != null)
            {
                System.out.println("done");
                }
                }   
        return view;
        }

AngularJS代码

<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller("UserController", ['$scope', '$http', function($scope, $http, httpPostService) {
 var self=this;
 $scope.insertData = function()
{
    alert($scope.userBean.username);
     $http({
         method: "POST",
         url: "register",
         username: $scope.userBean.username,
         phone:  $scope.userBean.phone,
         email: $scope.userBean.email,
         address: $scope.userBean.address,
         password: $scope.userBean.password
        }).then(function(response){
         console.log(response.status);
         console.log("in success");

     }, function(response){
         console.log(response.status);
         console.log("in fail");     
     });
};
}]);
</script>
<form method="post" action="register" name="myForm">
  <label for="username" class="control-label">First Name:</label>
  <input type="text" data-ng-model="userBean.username" class="form-control"  placeholder="Enter Firstname"/><br>
   <label for="phone" class="control-label">Phone:</label>
  <input type="text" data-ng-model="userBean.phone" class="form-control"  placeholder="Enter phone no."/><br>
  <label for="email" class="control-label">Email:</label>
  <input type="text" data-ng-model="userBean.email" class="form-control"  placeholder="Enter email"/><br>
  <label for="address" class="control-label">Address:</label>
  <input type="text" data-ng-model="userBean.address" class="form-control"  placeholder="Enter address"/><br>
  <label for="password" class="control-label">Password:</label>
  <input type="password" data-ng-model="userBean.password" class="form-control"  placeholder="Enter password"/><br>
   <button type="submit" data-ng-click="insertData()" class="btn btn-primary">Submit</button>
</form>

如何向整个bean发送数据 请任何人告诉一下 Spring MVC 中使用 Angular js 的 CRUD 应用教程

最佳答案

您的服务器端代码没有问题。你的ajax应该像下面这样:

$http({
         method: "POST",
         url: "register",
         data: $scope.userBean
        }).then(function(response){
         console.log(response.status);
         console.log("in success");

     }, function(response){
         console.log(response.status);
         console.log("in fail");     
     });

关于java - HTTP 状态 415 – 使用 Angular js 的 Spring MVC 中出现不支持的媒体类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53098922/

相关文章:

java - HttpServletRequest 到达 Java REST API 后可以为 null 吗?

Java - 基于多个分隔符拆分字符串

java - Android - 无法解析符号 "R"

javascript - 从外部检测 AngularJS onHashChange 事件

java - netbeans freermarker 插件错误 : The plugin Lexer to NetBeans Bridge is requested in implementation version

java - Maven 不会重写 JUnit/Mockito 的 context.xml 上的属性

java - Android 操作栏 : Custom fade animation on tab icon and title

java - 我可以阻止 Byte Buddy 发出注释的默认值吗?

angularjs - ionic 动态单选按钮组

javascript - AngularJS中3维数组的ngModel?