最近在做一个关于文章数据分析的小程序项目,现阶段是通过爬取微信公众号文章,在小程序里面进行显示,小程序中使用的文章内容解析插件是wxParse,可是发现通过接口获取谋篇文章的数据时(相当于整个html源代码,但去除的所有的script和style标签),出现invokeWebviewMethod 数据传输长度为 1227297 已经超过最大长度 1048576这个问题。也就是说小程序在一次请求中数据的大小不能超过1M。
我自己想出的解决办法是:
后台将一篇文章的文章进行拆分传输,然后小程序端使用多个wxParse进行文章片段的解析及显示,但是关于拆分传输这里不知道该怎么去处理,比如一篇文章结构如下:
<html>
<head>
</head>
<body>
<div>
<section>
<div>
<p>
</p>
</div>
</section>
</div>
</body>
</html>
比如上面是一篇文章的整体内容,大小以及超过1m,这时候需要将其进行拆分传输到前端,也就是说将整个html代码进行截取,但这截取规则以及怎样去实现暂时不能去实现,望大家给予帮助。
这个报错应该不是请求数据过大导致的,而是setData时操作的数据过大导致的。可能请求返回的数据太大,而您又将这个大的数据一次性用setData赋值。
解决办法:如果数据中有冗余部分(即不需要用到的数据),您可以只将需要用到的数据单独抽取出来,然后再用setData赋值並渲染;如果所有数据都是需要用到的,那么建议您先对这个大的数据进行拆分,再进行setData操作。
希望我的回答能帮到您。