jFinal解析IOS post请求获取不到参数问题

发布于 2021-11-29 13:51:52 字数 800 浏览 772 评论 4

以前用struts没发现android和ios请求有什么不同,直接在Controller设置同名属性,设置set方法就ok了,最近想将一些小项目用jfinal实现,发现一个烦人的问题。

web、android上的get请求、post请求,jfinal均可以用getPara获取到参数

ios上的get请求,jfinal可以用getPara获取到参数,但是post请求获取的参数就是null

网上有一篇帖子http://www.tuicool.com/articles/vUZJ32r,貌似ios的post请求格式比较诡异。

做了个测试,在jfinal设置一个全家的拦截器,获取请求的参数

String tpData = HttpKit.readData(request);

发现ios的post请求:

 --Boundary+1916537BAF0C47C8
Content-Disposition: form-data; name="c"

233441235
--Boundary+1916537BAF0C47C8
Content-Disposition: form-data; name="p"

1
--Boundary+1916537BAF0C47C8
Content-Disposition: form-data; name="s"

5
--Boundary+1916537BAF0C47C8--

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笑红尘 2021-12-03 19:20:15

谢谢提醒,问题解决了。解决如下

冷清清 2021-12-03 17:52:59

回复
@Shydow : 怎么解决的请问

醉酒的小男人 2021-12-03 03:41:05

       这个问题很诡异,貌似很久以前有个人碰到过,忘了怎么解决了。有一点是可以肯定的,jfinal 的 getPara(...) 系列的方法仅仅是转调下层的 HttpServletRequest.getParameter(...) ,是不可能有错误的,出错的可能性是底层的 jetty 或者 tomcat 无法解决这个请求,再一个可能是 ios 客户端发送过来的数据不符合 http 规范

      这个问题隐约记得是  ios 客户端的问题,建议你在客户端多尝试一下别的方式发起请求,或者改改参数之类的

梦中楼上月下 2021-12-02 10:41:28

IOS端的请求用了一个框架
AFHTTPSessionManager ,该框架用于传file比较方便,所以其post请求的type是“multipart/form-data”,它不是基本的http请求,详见:http://blog.csdn.net/five3/article/details/7181521,针对这种没file的场景,可以先getfile,然后再用getpara方法获取参数,详见:http://www.thinksaas.cn/topics/0/396/396070.html,getfile会提示缺少jar包,解决见:http://www.oschina.net/question/1787637_157890?sort=time

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文