Javascript ajax请求浏览器限制

Javascript ajax请求浏览器限制,javascript,ajax,json,Javascript,Ajax,Json,一个更一般的问题开始。如果是JSON请求,ajax请求的响应大小是否有限制 我通过一个JSON请求传递大量数据,并在FF3中运行一条“脚本堆栈配额耗尽”消息。现在在FF2中,配额是4mb,但在FF3中是640kb。我想知道这是否是特定于JSON的。普通ajax请求是否有响应大小限制?一个可能由浏览器强制执行的操作?如果非JSON请求在脚本堆栈配额方面没有这些问题,我如何对返回的数据进行分类?可能是XML…我不确定我的数据是否在w3c规范的范围内。我怀疑如果发送数据和接收数据,限制是不同的,所以我

一个更一般的问题开始。如果是JSON请求,ajax请求的响应大小是否有限制


我通过一个JSON请求传递大量数据,并在FF3中运行一条“脚本堆栈配额耗尽”消息。现在在FF2中,配额是4mb,但在FF3中是640kb。我想知道这是否是特定于JSON的。普通ajax请求是否有响应大小限制?一个可能由浏览器强制执行的操作?如果非JSON请求在脚本堆栈配额方面没有这些问题,我如何对返回的数据进行分类?可能是XML…我不确定我的数据是否在w3c规范的范围内。我怀疑如果发送数据和接收数据,限制是不同的,所以我假设是向客户端发送数据。JSON实际上只是一种数据类型。我们怀疑,您真正做的是对javascript脚本发出GET请求,该脚本的大小应该限制在合理的范围内。wiki for JSON还说使用XMLHTTPRequest方法,这可能会绕过您的限制,但您仍然需要一个代理来避免跨域脚本限制,并使用更合理的mime类型,如html、xml、binary、,等等。如果您将任何图像放入JSON,请记住它们可以是链接,因为这些请求没有跨域问题


再次检查并不是请求的数量给您带来了麻烦,浏览器也有限制。有时低至2。

一般来说,我会尽量保持AJAX数据较小。如果我必须传递大量数据,我将通过多次调用来检索它。因此,如果我正在加载一个表,我将有一个方法告诉我将返回多少条记录,另一个方法以#为一组(通常为我20条)返回记录

这样做的好处是,我可以在检索数据时加载页面,用户不必等待一个大的负载


此外,最好使用JSON而不是XML。JSON通常比XML的负载小,许多测试表明浏览器更容易加载它。

iirc这是去年FF3上的一个bug,但我相信(是的,检查过了)它已经修复了。但在评论中,有一条注释:

注:此测试取决于 架构和可用内存。在…上 带有2G和64位的x86_64机器 构建时,它将失败 内部错误:脚本堆栈空间 但x86_64上的配额已用完 通过4G和64位构建,它将 通过

评论还指出,这是一个纯粹的JS问题,这意味着尽管数据格式严格来说并不重要,但是非常大的JSON块可能会破坏JS堆栈,而XML字符串可能不会。我想你得试试


OTOH,它被标记为已修复,因此有一个问题是确保您也使用最新版本的FF。

我没有遇到任何实际限制,但您的用户交互能力,将大数据分解为多个调用。通过ajax传输大型表需要很长时间,特别是当用户运行IE时。大数据+ajax+IE=IE崩溃。

我认为annakata是正确的

错误消息的文本还表明,出现问题的原因是json结构的深度,而不是它的KB大小

这意味着,当您评估json时,JavaScript引擎在解析json时使用堆栈。由于json结构中的深度(嵌套元素的数量),此堆栈正在达到其最大限制

您可能需要检查稍微平坦的结构是否适合您的需求