JFinal-ajax

使用ajax进行前后台交互时,总是出现500错误。检查了一下,数据格式没什么问题,访问路径也没什么问题,不知道怎么回事,代码如下。

image.png

image.png

通过idea使用JFianl开发之后,总是会报500的问题,路径,数据格式,方法不对等等总是报500,很难找到真正的问题所在,让我很苦恼

评论区

JFinal

2018-09-06 12:34

解决问题,最基本的方法就是仔细读懂异常,没人知道你的异常信息是什么,也就没人猜到是什么了

JFinal

2018-09-06 12:34

提问中其实没有提供任何有助于解决问题的信息

ddjfinal

2018-09-06 16:18

请贴异常信息。

逗不逗

2018-09-06 17:26

@ddjfinal 问题已解决。错误原因是因为我在前端传数据时是通过实力类属性来传的,在后端直接通过实体类接收时一直为NULL,导致后面转换异常,后通过实体类的属性一个个接收再进行处理,问题解决。但是感觉如果实体类的属性过于多的话,这种方式就有点恐怖了。
错误代码如下:
前端:
var staffData = {
"staffName" : name,
"staffSex" : sex,
"staffAge" : age
};
$.ajax({
type: "POST",
url:"/staff/add",
data:staffData,
。。。。。
}
后端:
String jsonString = getPara("staffData");//取不到值
Staff staff = Jackson.getJson().parse(jsonString, Staff.class)

JFinal

2018-09-06 17:35

通过这行代码来获取:
getModel(Staff.class, "");

ddjfinal

2018-09-06 17:38

@逗不逗 可以这样啊,{staffData =‘{
"staffName" : name,
"staffSex" : sex,
"staffAge" : age
}’},后台getPara("staffData"); 获取到的就是json字符串啊,然后再转json就ok,你试试,绝对成功!

ddjfinal

2018-09-06 17:39

var datas = {staffData =‘{
"staffName" : name,
"staffSex" : sex,
"staffAge" : age
}’},
$.ajax({
type: "POST",
url:"/staff/add",
data:datas,
。。。。。
}

ddjfinal

2018-09-06 17:41

@逗不逗 或者这样
var staffData = {
"staffName" : name,
"staffSex" : sex,
"staffAge" : age
};
var datas = {staffData :JSON.stringfy(staffData )};
$.ajax({
type: "POST",
url:"/staff/add",
data:datas,
。。。。。
}
后台getPara("staffData");

逗不逗

2018-09-06 18:28

@ddjfinal 试了一下,仍然为空,哎

逗不逗

2018-09-06 18:41

@JFinal 谢谢,这种方式确实好了很多

JFinal

2018-09-06 20:32

@逗不逗 这些用法在文档中都有的,开发之前一定要先看看文档,jfinal 坚持极简设计,文档的内容本身就很少

逗不逗

2018-09-07 09:02

@JFinal 好的,谢谢了