我使用extjs ajax向java端休息服务发送修改记录,这是代码..
Ext.Ajax.request( {
url : saveUrl,
params: {unitMonthList: Ext.JSON.encode(jsonData)},
method : "POST",
isUpload : true,
timeout: 300000,
jsonData : jsonData,
success : function(resp, opts) {
var value = resp.responseText;
var result = JSON.parse(value);
Ext.MessageBox.hide();
if(result.success){
var umCostStore = Ext.data.StoreManager.lookup('Unitmonths');
umCostStore.commitChanges();
Ext.MessageBox.hide();
Ext.Msg.show({
title : 'Notification',
msg : 'Data saved successfully!',
buttons : 1,
cls : 'msgBtnCls'
});
}
},
failure : function(resp, opts) {
Ext.MessageBox.hide();
Ext.Msg.show({
title : 'Notification',
msg : 'Error occurred. Please try again later..',
buttons : 1,
cls : 'msgBtnCls'
});
}
});
@POST
@Path("saveUnitMonths")
@Produces("application/json")
public String saveUnitMonths(@Context HttpServletRequest request,
@Context ServletContext servletContext) throws ParseException {
Gson gson = new Gson();
String unitMonthList = request.getParameter("unitMonthList");
}
上面的代码最多可以处理5条记录,但是对于5条以上的记录,ajax请求失败了,给出了500条错误代码并执行了故障回调函数。 它根本不是服务器端。 请帮助我了解超过5条记录的错误。 如果我删除Ext.JSON.encode(jsonData)并直接使用jsonData然后Ajax调用服务器端超过5条记录,但我无法处理服务器端的非JSON数据。
谢谢,
答案 0 :(得分:0)
您是否两次发送数据?在您的请求中,
中有jsonData
params: {unitMonthList: Ext.JSON.encode(jsonData)},
再一次在
jsonData : jsonData
也许尝试删除其中一个。
答案 1 :(得分:0)
我已经通过删除 Ext.JSON.encode(jsonData)解决了这个问题。 Ext.JSON.encode()函数如何编码记录超过5,所以我只是将 jsonData:jsonData 作为数组发送到服务器而不进行编码。