Javascript 可能未经处理的拒绝:-尝试将数据从angularJS传递到spring MVC时

Javascript 可能未经处理的拒绝:-尝试将数据从angularJS传递到spring MVC时,javascript,angularjs,spring-mvc,Javascript,Angularjs,Spring Mvc,这个错误考验了我很多。有人能帮忙吗?我做错了什么 我有一个脚本,它以JSON格式保存几个参数的值 var mpdApp = angular.module('mpdApp', ['ngAnimate', 'ngSanitize', 'ui.bootstrap' ]); mpdApp .controller( 'mpdController', [ '$scope', '$rootScope',

这个错误考验了我很多。有人能帮忙吗?我做错了什么

我有一个脚本,它以JSON格式保存几个参数的值

var mpdApp = angular.module('mpdApp', ['ngAnimate',
    'ngSanitize', 'ui.bootstrap'
]);

mpdApp
    .controller(
        'mpdController',
        [
            '$scope',
            '$rootScope',
            '$http',
            '$window',

            function($scope, $rootScope, $http, $window) {
                $scope.doValidation = function() {

                    var mpdData = {
                        'mpdPolicyNumber': $scope.mpdPolicyNumber,
                        'mpdFirstName': $scope.mpdFirstName,
                        'mpdLastName': $scope.mpdLastName,
                        'mpdAddress': $scope.mpdAddress,
                        'mpdPhoneNumber': $scope.mpdPhoneNumber
                    };

                    console.log(mpdData);

                    $http({
                            'url': '/mpdValidate',
                            'method': 'POST',
                            'headers': {
                                'Content-Type': 'application/json'
                            },
                            'params': mpdData
                        })
                        .then(
                            function(response) {
                                $rootScope.resultMpdData = response.data;
                            });
                };
            }
        ]);
当我试图通过POST将其传递给我的spring mvc控制器时

spring mvc控制器方法

@PostMapping(path = "/mpdValidate", produces = "application/json")
    @ResponseBody
    public List<MPDValidationOutputVO> mpdValidate(@RequestParam("mpdPolicyNumber") String mpdPolicyNumber,
            @RequestParam("mpdFirstName") String mpdFirstName, @RequestParam("mpdLastName") String mpdLastName,
            @RequestParam("mpdAddress") String mpdAddress, @RequestParam("mpdPhoneNumber") String mpdPhoneNumber)
            throws JsonParseException, JsonMappingException, IOException {

        System.out.println("*************");
        MPDValidationInputVO mpdValidationInput = new MPDValidationInputVO();
        List<MPDValidationOutputVO> mpdValidationOutput = mpdValidationService.mpdValidate(mpdValidationInput);
        return mpdValidationOutput;
    }
{mpdPolicyNumber: "werwer", mpdFirstName: "czxc", mpdLastName: "werwe", mpdAddress: "ghhdf", mpdPhoneNumber: "asaa"}

非常感谢您的帮助。

尝试使用此变体

$http({
        url: 'request-url',
        method: "POST",
        data: { 'message' : message }
    })
由于url已经是一个参数,您不应该在单引号中引用它。

products=“application/json”仅在Accept header为“application/json”时处理

方法中的参数太多,只缺少一个参数,这将导致404

若参数不可见,您可能需要添加默认值或required=false。它将帮助您防止404错误

@PostMapping(path = "/mpdValidate", produces = "application/json")
    @ResponseBody
    public List<MPDValidationOutputVO> mpdValidate(@RequestParam("mpdPolicyNumber") String mpdPolicyNumber,
            @RequestParam("mpdFirstName") String mpdFirstName, @RequestParam("mpdLastName") String mpdLastName,
            @RequestParam("mpdAddress") String mpdAddress, @RequestParam("mpdPhoneNumber") String mpdPhoneNumber)
            throws JsonParseException, JsonMappingException, IOException {

        System.out.println("*************");
        MPDValidationInputVO mpdValidationInput = new MPDValidationInputVO();
        List<MPDValidationOutputVO> mpdValidationOutput = mpdValidationService.mpdValidate(mpdValidationInput);
        return mpdValidationOutput;
    }
@PostMapping(path=“/mpdValidate”,products=“application/json”)
@应答器
公共列表mpdValidate(@RequestParam(“mpdPolicyNumber”)字符串mpdPolicyNumber,
@RequestParam(“mpdFirstName”)字符串mpdFirstName,@RequestParam(“mpdLastName”)字符串mpdLastName,
@RequestParam(“mpdAddress”)字符串mpdAddress,@RequestParam(“mpdPhoneNumber”)字符串mpdPhoneNumber)
抛出JsonParseException、JsonMappingException、IOException{
System.out.println(“****************”);
MPDValidationInputVO mpdValidationInput=新MPDValidationInputVO();
List-mpdValidationOutput=mpdValidationService.mpdValidate(mpdvalidationput);
返回mpdValidationOutput;
}

查看网络选项卡,您收到404错误。您可能发布到错误的URL,请检查您的端口,如果您单独承载应用程序,它们应该具有不同的端口。我的URL是mvc Luiz中指定的URL。它在脚本所在的同一个应用程序中。所有设备都在同一个端口上运行。