我正在尝试使用 Spring 和 Hibernate 一次将多条记录保存/更新到我的数据库(sql-developer)。我通过控制器通过 ajax 调用将数据传递到服务层、Dao、循环,该循环遍历我的 Hvo 对象列表并确定它是否已经在数据库中,然后保存新记录或更新当前记录。一旦它通过了这个循环(看起来很成功),我得到一个 403 错误并且页面上没有警报。我在 Eclipse 中的堆栈跟踪中没有错误。
这是我的javascript:
function saveLimXrefHvo(){
var list = [];
//declare variables for the data pieces
$('#limAssigned li').each(function (index, li) {
var cdeBusUnit = $('select[name="cde_bus_unit"]').val();
var cdeRatingPlan = $('select[name="cde_rating_plan"]').val();
var cdeLimit = $(this).attr('id');
var txtLimitRptOcc = $('#textOcc').val();
var txtLimitRptCm = $('#textCM').val();
var uidMod = $('#saveRTnumberLimXref').val();
var numSortOrder = (index + 1);
//put the variables in the JSON object
var JSONObject = {
"cdeBusUnit" : cdeBusUnit,
"cdeRatingPlan" : cdeRatingPlan,
"cdeLimit" : cdeLimit,
"txtLimitRptOcc" : txtLimitRptOcc,
"txtLimitRptCm" : txtLimitRptCm,
"uidMod" : uidMod,
"numSortOrder" : numSortOrder
};
list.push(JSONObject);
});
var dat = JSON.stringify(list);
$.ajax({
type : 'PUT',
url : 'saveLimXrefHvo.do',
contentType : 'application/json',
data : dat,
success : function(){
alert("This record has been successfully saved.");
}
});//end ajax
}
这是我的控制器方法:
@RequestMapping(value = "/saveLimXrefHvo.do", method = RequestMethod.PUT,
consumes="application/json")
public void saveLimXrefHvo(@JsonParam(innerType=LimitXrefHvo.class)
List<LimitXrefHvo> limitXrefHvoList) throws JsonParseException,
JsonMappingException, IOException {
limitService.saveLimXrefHvo(limitXrefHvoList);
}
我一直在试图弄清楚为什么我现在整个早上都收到 403 错误。我尝试通过在循环的“else”部分中单独删除和单独保存来更改 Dao 方法,但这不起作用。有人建议在控制器方法中添加“消耗”。那也没有用。我愿意接受建议、想法和问题。提前致谢!