Jfinal拦截器中如何获取POST数据

代码如下:

@Override

public void intercept(Invocation inv) {

// TODO Auto-generated method stub

Controller controller= inv.getController();

String postData=HttpKit.readData(controller.getRequest());

        }

拦截器中无法获取post数据,controller中可以获取。

评论区

hjcscscs

2016-10-18 14:08

问题已解决,在拦截器里面获取POST数据,需要在类似controller.getPara("appid")之前调用HttpKit.readData(controller.getRequest()),否则会出现获取不到POST数据的情况

JFinal

2016-10-18 16:05

@hjcscscs 正确,就是这样

排行老七

2017-07-26 16:29

为什么我用报 nio 的错

binker

2017-10-18 12:14

怎么拿到的,能把解决方法发出来吗?

binker

2017-10-18 12:15

@JFinal 能把代码贴出来吗?

JFinal

2017-10-18 12:21

@binker
Controller controller= inv.getController();
String postData=HttpKit.readData(controller.getRequest());

binker

2017-10-18 12:24

Map tt = ai.getController().getRequest().getParameterMap();
System.out.println("requestdate:"+JSON.toJSON(tt).toString());
貌似这样可以拿到。不管是get还是post。

JFinal

2017-10-18 12:30

@binker 贴主说的 post 与表单 method="post" 还有所不同,他是指将数据整个当成 string 字符串内容放在 http body 中发送过来

JFinal

2017-10-18 12:30

@binker 你可以想象成微信公众号给你的项目发来的 xml 或者 json 字符串内容

西安影子

2018-10-11 13:13

谢谢,对我很有用处!

热门反馈

扫码入社