我正在使用jQuery plugin使用JSON字符串来建议其数据。
如果JSON字符串少于X个元素,那么一切正常。超过此限制没有任何反应,autosuggest失败。我想这是因为有一种解析限制,但我怎么能绕过这个呢?我有一个+5000元素的数组......
这是我的json代码:
var SearchTxt = '[{"t":"word one"},{"t":"word two"}, ...]';
谢谢!
答案 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请求设置的。