有时候超过限制了,导致数据被截断
在这里发现 imgUrl的地址原本有22个之多 发现被截断,导致页面不显示
解决方法 在传递数据时,如果数据量较大,会导致 URL 长度过长,从而可能会影响传递的数据。为了避免这种情况,可以考虑使用 uni.setStorageSync() 方法将数据存储到本地缓存中,然后在下一个页面中通过 uni.getStorageSync() 方法获取数据。具体来说,在上一个页面中可以将需要传递的数据存储到本地缓存中:
uni.setStorageSync('textContent', that.textContent);
uni.setStorageSync('imgsURL', that.imgsURL);
最好的解决办法是使用状态管理工具(如Redux、MobX、Vuex等)来管理大量的数据,避免使用路由传值。如果必须使用路由传值,可以将数据存储在本地存储(如localStorage、sessionStorage等)或者使用URL参数传值。另外,也可以考虑对数据进行压缩或者分割传输的方式来减小传输的数据量。
即使使用 JSON.stringify() 方法,当数组太大时,依然可能无法传递。这是因为浏览器对于URL长度有限制,不同的浏览器限制长度不同,例如IE的限制是2083个字符,Chrome和Firefox的限制是8192个字符。一般来说,如果要传递大量数据,最好的方法是使用POST请求或者使用WebSocket等技术。