JSON字符串太大了

时间:2012-11-16 16:03:50

标签: jquery json autocomplete

我正在使用jQuery plugin使用JSON字符串来建议其数据。

如果JSON字符串少于X个元素,那么一切正常。超过此限制没有任何反应,autosuggest失败。我想这是因为有一种解析限制,但我怎么能绕过这个呢?我有一个+5000元素的数组......

这是我的json代码:

var SearchTxt = '[{"t":"word one"},{"t":"word two"}, ...]';

谢谢!

3 个答案:

答案 0 :(得分:3)

$.getJSON()正在使用GET方法limited by a varying length for each browser。因此,在您的情况下,返回的结果显然超过了该限制。你想做的是改变

$.getJSON(settings.url,{search:text},function(data){if(data){buildResults(data,text);}
else{$(results).html('').hide();}});

插件的源代码

$.post(settings.url,{search:text},function(data){if(data){buildResults(data,text);}
else{$(results).html('').hide();}},'json');

这将使其执行POST请求。另外,请确保在服务器端脚本中将全局$_GET数组的引用更改为$_POST(如果有)。

答案 1 :(得分:1)

好的,所以我终于找到了这个问题的根源。由于简单的引号,有一个解析错误...不要问我为什么它只在一定数量的元素开始发生,而所有引号都已经转义。

好吧,所以我改变了这个:

var SearchTxt = '[{"t":"word one"},{"t":"word two"}, ...]';

var SearchTxt = [{"t":"word one"},{"t":"word two"}, ...];

并且有效。

答案 2 :(得分:0)

使用JSON没有“解析限制”,任何限制都是由服务器解析JSON请求设置的。