微信小程序问题--invokeWebviewMethod 数据传输长度为 1227297 已经超过最大长度 1048576

前端扫地僧
  • 1.8k

最近在做一个关于文章数据分析的小程序项目,现阶段是通过爬取微信公众号文章,在小程序里面进行显示,小程序中使用的文章内容解析插件是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代码进行截取,但这截取规则以及怎样去实现暂时不能去实现,望大家给予帮助。

回复
阅读 2.4k
2 个回答

这个报错应该不是请求数据过大导致的,而是setData时操作的数据过大导致的。可能请求返回的数据太大,而您又将这个大的数据一次性用setData赋值。
解决办法:如果数据中有冗余部分(即不需要用到的数据),您可以只将需要用到的数据单独抽取出来,然后再用setData赋值並渲染;如果所有数据都是需要用到的,那么建议您先对这个大的数据进行拆分,再进行setData操作。
希望我的回答能帮到您。

小程序内不一定非要进行小程序的渲染 webview也可以实现你要的功能,也不受原有容器的限制

宣传栏