JFinal本地postman进行post传值成功,VUE传过来的值就报500错

JFinal本地postman进行post传值成功,VUE传过来的值就报500错。请帮忙解答一下。谢谢!@JFinalFE993122-6D27-42ba-977C-52D15FA372CA.png


后端获取数据

public Record getJsonRecord(){
   String jsonStr =  HttpKit.readData(this.getRequest());
   if (StrKit.notBlank(jsonStr)) {

      @SuppressWarnings("unchecked")

      java.util.Map<String, Object> ls = FastJson.getJson().parse(jsonStr, java.util.Map.class);

      Record r = new Record().setColumns(ls);

      System.out.println("转换为Record后的JSON参数:" + r.toJson());

      return r;

   } else {

      return new Record();

   }
}

前端传递数据见附图2

OLWQ3{NDR${_}YWT_B`G3]B.png


评论区

JFinal

2019-11-26 17:21

根据异常信息修改一下

xspycsj

2019-11-26 18:22

@JFinal 断点调试,后端的jsonStr为空。前端报错为"Access to XMLHttpRequest at from origin has been blocked by CORS policy: Response to preflight request doesnt pass access control check: It does not have HTTP ok status."我设置了跨域的拦截器。

xialinlin

2019-11-26 23:01

@xspycsj http://www.jfinal.com/share/1137

xspycsj

2019-11-27 09:07

@xialinlin 我试一下,非常感谢。

xspycsj

2019-11-27 11:04

@xialinlin 我试了下,如果不带自定义请求头Authorization就可以获取到formdata,如果带了这个请求头就不行了。

xspycsj

2019-11-27 11:06

@xialinlin 同时,我也在拦截器里放行了response.addHeader("Access-Control-Allow-Headers", "Content-Type,Access-Control-Allow-Headers,Content-Length,Accept,Authorization,X-Requested-With,token");

JFinal

2019-11-27 15:02

@xspycsj 无论怎样, jfinal 在服务端仅仅可以机械化地获取参数,这类问题都要通过改变前端数据传递代码才可以解决