post html json,WebView的postUrl 返回非html页面(json)问题

在开发app时候增加了一个商城页,自然是用h5继承比较方便,但是在用WebView 加载商城页面时候,总是会有首次下载app登陆加载异常,返回的是json字符串。用在线接口测试工具测试了一下,确实是,如下图这样显示,

83288f371ce8

postUrl返回非html页面而是json

这个研究了半天,各种方法测试了,均会有首次加载 出现这个玩意。

于是想到了,加载后,sleep 0.5秒 ,然后重新再次加载一次,,等于做了两次加载操作,这个在Activity中是没有问题的,可以解决问题,但是如果商城页面在 viewPage中呢,这个非activity时候就无法解决了。必须要viewPage 页面关闭再次重新进来才能正常显示商城页面,于是,思前想后,想了想为什么首次加载返回的就必须是json,第二次重新加载就正常了呢?果断打印比较了一下发现,原来首次加载后就生成了一个cookie,浏览器记住了cookie再次请求时候就返回了正常html页面(这个是选用的商城后台的坑。用的开源的商城后台,没办法总不能自己写一个商城后台),到这儿知道问题了解决起来就方便多了!在WebView的 setWebViewClient方法中重写onPageFinished()方法,如下:

83288f371ce8

onPageFinished

同步cookie的方法为:

83288f371ce8

synCookies

首次加载 完成后,将获取的cookie添加到url中,然后重新再次加载一次postUrl请求,这样就解决了商城首次进入总是异常的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值