getModel无法获取Ajax的参数

前端代码

image.png

后端代码:

image.png


Parameter   : WO_WorkOrder[primeNo]=SYS-TLFW-1590299766731  WO_WorkOrder[merchantName]=撒旦  WO_WorkOrder[waiterSendTime]=2020-05-24  WO_WorkOrder[content]=撒地方  WO_WorkOrder[itemName]=  WO_WorkOrder[merchantNo]=撒旦f  WO_RTerminal[0][terminalNumber]=奥斯丁f  WO_RTerminal[0][brand]=奥斯丁  WO_WorkOrder[isPaper]=1  WO_WorkOrder[operateName]=  WO_WorkOrder[businessTime]=2020-05-24  WO_WorkOrder[contactPhone]=f撒旦  WO_RTerminal[0][LAY_TABLE_INDEX]=0  WO_RTerminal[1][terminalNumber]=f奥斯丁  WO_WorkOrder[contactAddress]=撒旦  WO_RTerminal[1][terminalType]=奥斯丁f  WO_WorkOrder[remark]=奥斯丁  WO_WorkOrder[callDate]=2020-05-24  WO_WorkOrder[unionpayNum]=  WO_RTerminal[1][LAY_TABLE_INDEX]=1  WO_WorkOrder[type]=0  WO_WorkOrder[signOrderName]=  WO_RTerminal[0][terminalType]=撒旦  WO_WorkOrder[bank]=  WO_WorkOrder[teamPL]=ecg  operate=0  WO_WorkOrder[contactPerson]=f奥斯丁f  WO_WorkOrder[origin]=奥斯丁  WO_WorkOrder[emergenLevel]=0  WO_WorkOrder[estimateTime]=2020-05-24 


评论区

xheeex

2020-05-24 15:13

有没有大佬能教教我把Ajax的传递格式变为带点的

xheeex

2020-05-24 16:19

目前暂时自己改后台底层代码匹配规则来解决了。项目比较急

JFinal

2020-05-24 21:11

你的数据带有数组,不太好处理,需要自己写点代码

建议在前端用 js 将数据先转成 json ,然后传递 json 到后端,后端接收代码大至如下:
String jsonString = getRawData();
Map map = FastJson.getJson().parse(jsonString, Map.class);

以上就将 json 转成 Map 了, 如果你是数组,还可以转成 List ,例如:
List list = FastJson.getJson().parse(jsonString, List.class);

List、Map 再转成 Model 是很容易的,看一下 Model 中的一些 setter 方法就知道如何转了

JFinal

2020-05-24 21:14

这里的关键在于,如何在前端用 js 发送 json 数据的请求:
$.ajax({
type: "post",
url: "http://localhost/action",
contentType: 'application/json; charset=UTF-8', // 关键参数
dataType: 'json',
data: formToJsonString("表单id"),
success: function(ret) {
}
});

以上代码的关键在于:
contentType: 'application/json; charset=UTF-8'

否则就不是 json 数据类型的请求


最后,js 将数据转成 json 的代码如下:
function formToJsonString(formId) {
var paramArray = $('#' + formId).serializeArray();
// 表单参数转 json 对象
var jsonObj = {};
$(paramArray).each(function() {
jsonObj[this.name] = this.value;
});

// json 对象转 json 字符串
return JSON.stringify(jsonObj);
}


有了 json 这个中间工具,一切都简单了。

上述代码在 jfinal 俱乐部福利中都有,有需的话可以加入俱乐部获取 jfinal.com 官网代码

热门反馈

扫码入社