Javascript 可能未经处理的拒绝:-尝试将数据从angularJS传递到spring MVC时
这个错误考验了我很多。有人能帮忙吗?我做错了什么 我有一个脚本,它以JSON格式保存几个参数的值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',
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。它在脚本所在的同一个应用程序中。所有设备都在同一个端口上运行。