javascript - 将 50,000 多个字符的 JSON 字符串解析为 javascript 对象

标签 javascript jquery ajax string json

我正在尝试使用 jquery 评估来自 ajax GET 请求的超过 50,000 个字符的字符串。在较小的数据集上,代码将正确评估它,但 firefox 会抛出错误“未终止的字符串文字”。 经过一些挖掘,我尝试使用来自 JSON.org 的外部库,将\n、\r\n 和\r 替换为空字符串(在服务器上),并用括号封装 eval()。

这是一些客户端代码(javascript):

http://pastebin.com/wsXuN7tb <- 这里我使用了一个外部库来完成它

通过firebug看了一下,发现服务器返回的json字符串不完整,在5万左右的字符处被 chop 了。我知道服务器正在返回一个有效的 json 字符串,因为我在将它发送给客户端之前将它转储到一个文件中,但客户端最终收到了一个 chop 的版本。

为什么会这样?有什么办法解决这个问题吗?

最佳答案

URL 的长度限制因浏览器而异。 50,000 多个字符绝对超过了每个浏览器的限制。对于如此大的数据,您应该改用 POST。

对于此限制,您无能为力,因为它是浏览器限制,您无法在服务器上更改。您唯一可以做的就是切换到使用 POST。

关于javascript - 将 50,000 多个字符的 JSON 字符串解析为 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7706607/

相关文章:

javascript - 如何从 .js 文件而不是 webpack.config 配置和运行 webpack

javascript - 揭示模块模式和 jquery 失败

javascript - CoffeeScript:请求返回看起来像是流的内容

大图像div底部的jquery向上滑动面板

C# .Net 从表单帖子中读取字符串输入

javascript - "document.formName"未定义?

javascript - 如何将 HTML 按钮和 javascript 逻辑分离到不同的文件中

javascript - 使用 ajax、json 和 WITHOUT jquery 填充 <select> 菜单

jquery - 在 AJAX 和 WordPress 中找不到数据时显示消息

python - 通过 flask + redis 服务文件