将超过50,000个字符的JSON字符串解析为javascript对象
Parsing a JSON string of 50,000+ characters into a javascript object
我试图评估使用jquery的ajax GET请求的50,000+字符的字符串。对于较小的数据集,代码将正确地评估它,但是firefox抛出一个错误"未终止的字符串文字"。经过一番挖掘,我尝试使用来自JSON.org的外部库,将'n, 'r'n和'r替换为空字符串(在服务器上),并用括号封装eval()。
下面是一些客户端代码(javascript):http://pastebin.com/wsXuN7tb <-这里我使用了一个外部库
查看firebug后,我注意到服务器返回的json字符串不完整,并且在50,000左右的字符处被截断。我知道服务器正在返回一个有效的json字符串,因为我在将其发送到客户端之前将其转储到文件中,但客户端最终接收到截断的版本。
为什么会发生这种情况?还有别的办法吗?
url的长度限制因浏览器而异。5万多个字符绝对超过了每个浏览器的限制。对于如此大的数据,您应该使用POST。
实际上你对这个限制无能为力,因为这是浏览器限制,而不是你可以在服务器上更改的东西。你唯一能做的就是切换到POST。
原来我在c#服务器中使用的NetworkStream不能有那么大的缓冲区,所以我只是写了一半的缓冲区,刷新了它,然后写了另一半。
谢谢大家的帮助。
相关文章:
- 字符串对象类型或基元类型也是如此
- Javascript-如何从字符串/对象引用回调
- JavaScript,字符串/对象操作的例外
- 如何在require中传递字符串/对象
- 字符串对象比较总是返回false
- 对字符串对象调用 .localeCompare 与构造特制的 Intl.Collator 对象之间的性能差异
- 将变量打印到控制台时出现意外字符串:[对象窗口]
- 如何使用javascript在字符串对象中添加原型
- 如何在 JavaScript 中设置/更新字符串对象的值
- jQuery:在 $.each 中从字符串类型转换为字符串对象
- 将属性添加到字符串对象时出现问题
- 从字符串对象中删除第一个出现的字母
- 如何正确地将JQuery函数从表单的输入标记中检索到的这些字符串对象转换为数字
- 转换“;字符串对象“;到对象
- Javascript中字符串对象到字符串原语的转换
- JavaScript符号类型:(非字符串对象键)
- 正在重新定义字符串对象中的长度属性
- 带有字符串对象的jQuery选择器不起作用
- 如何在javascript中将JSON字符串对象打印为下拉列表
- 将日期字符串对象转换为其他格式