我正在尝试使用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方法,但这不起作用。有人建议在控制器方法中添加“消耗”。那也行不通。我对建议,想法,问题持开放态度。提前谢谢!
答案 0 :(得分:1)
你的Spring控制器是否知道如何处理没有响应(即void
)?
尝试返回指示成功操作的JSON对象。
示例:强>
{
"success": true,
"message": "Successfully saved... blah blah"
}
实施可能类似于:
*在视野之外(我添加了produce =“application / json”)
@RequestMapping(value = "/saveLimXrefHvo.do", method = RequestMethod.PUT, consumes="application/json", produces="application/json")
public ResponseMap saveLimXrefHvo(@JsonParam(innerType=LimitXrefHvo.class) List<LimitXrefHvo> limitXrefHvoList) throws JsonParseException, JsonMappingException, IOException {
limitService.saveLimXrefHvo(limitXrefHvoList);
return new ResponseMap("Success");
}