我在Angular中编写了一个基本程序,它使用路由器功能将两个页面呈现为单页面应用程序。到目前为止,就是这样。我有一个页面,其中包含两个用于导航的按钮,以及一个包装div(ng-view),当单击相应的按钮时,该页面将填充两个页面的内容。
当我尝试加载两个页面中较大的一个时,我收到以下错误:
SyntaxError: Unexpected token <
此错误是从angular.js:11594(我使用的是1.3.9版本)引发的。调试之后,我发现jQuery中会抛出异常,代码为:
this.empty().append( value );
我查看了输入参数'value',它非常大。它包含超过11,000行,大1.59 MB。
我在html格式检查器(http://www.freeformatter.com/)中运行输入字符串。格式很好,没有额外的开放标记。
jQuery的方法是否有可能无法处理如此大的字符串?我搜索谷歌这样的限制,但我能找到的是使用jQuery应用限制的建议,文档(http://devdocs.io/jquery/append)没有提到这样的限制。
注意:
感谢。
答案 0 :(得分:-1)
你要面对的第一个限制是,如果字符串超过512个字节,那么由它创建的dom片段不会被缓存。下一个限制是浏览器中.innerHTML的限制。但是它非常巨大(高)......但是在附加大量内容的同时,你将面临巨大的滞后(可能需要很长时间才能加载)。