Javascript 传递更多数据时,jQuery.parseJSON停止工作
我有一个脚本,可以查询数据库并用结果回显json代码。Javascript 传递更多数据时,jQuery.parseJSON停止工作,javascript,jquery,json,jquery-ui-autocomplete,Javascript,Jquery,Json,Jquery Ui Autocomplete,我有一个脚本,可以查询数据库并用结果回显json代码。 javascript使用jQuery.parseJSON方法将其存储在变量中,然后填充一个文本框以进行自动完成。 如果我在数据库查询中返回的行数少于30行,那么一切都可以正常工作。 当我向jQuery.parseJSON方法传递更多数据时,它似乎失败了 如何更改代码以使其能够解析更多数据 谢谢你的帮助 JSON代码: { "display":true, "url":"http://project-url", "aut
javascript使用
jQuery.parseJSON
方法将其存储在变量中,然后填充一个文本框以进行自动完成。如果我在数据库查询中返回的行数少于30行,那么一切都可以正常工作。
当我向
jQuery.parseJSON
方法传递更多数据时,它似乎失败了
如何更改代码以使其能够解析更多数据
谢谢你的帮助
JSON代码:
{
"display":true,
"url":"http://project-url",
"autoComplete":
[
{
"value":"1",
"desc":"Ford",
"model":"Edge",
"label":"1 Ford Edge"
},
{
"value":"2",
"desc":"Toyota",
"model":"Camry",
"label":"2 Toyota Camry"
},
{
"value":"3",
"desc":"Honda",
"model":"Accord",
"label":"3 Honda Accord"
},
{
"value":"4",
"desc":"Honda",
"model":"Civic",
"label":"4 Honda Civic"
}
]
}
Javascript代码:
var data = $.parseJSON(jsonVar);
$('#value-input').autocomplete(
{
source: data.autoComplete,
minLength: 3,
select: function(event, ui)
{
$('#desc-input').val(ui.item.desc);
}
});
如果没有任何代码,我们只能做出假设,在这种情况下Jquery.ParseJSON支持更大的数据,问题可能是json,可能是某个字符正在破坏json或与返回数据库的行大小无关的内容 您可以验证json
您可以包含产生错误的json吗?或者您可以验证我上面提供的链接中的json,以检查问题是否存在于json中?问题在于数据的一个元素中有一个换行符。数字2,在值和描述元素之间换行。这是一种有效的JSON格式,但出于某种原因,jQuery不喜欢它。我只是去掉了断点,它就行了。谢谢你,罗纳德
{
"display":true,
"url":"http://project-url",
"autoComplete":
[
{
"value":"1",
"desc":"Ford",
"model":"Edge",
"label":"1 Ford Edge"
},
{
"value":"2
",
"desc":"Toyota",
"model":"Camry",
"label":"2 Toyota Camry"
},
{
"value":"3",
"desc":"Honda",
"model":"Accord",
"label":"3 Honda Accord"
},
{
"value":"4",
"desc":"Honda",
"model":"Civic",
"label":"4 Honda Civic"
}
]
}
请发布代码片段。
jQuery.parseJSON
没有这样的限制。查询数据库的脚本必须生成无效的JSON。可能是字符编码问题。是的,我在发布问题之前使用了验证网站,并给了我一个有效的JSON格式。如果我使用少于30个元素,它就可以工作。更重要的是停止工作。产生错误的Json与您在问题中发布的相同?是的,但包含更多元素,如150多个。但是当我验证de JSON返回有效的JSON时,控制台中可能显示了一个错误,您可以复制它吗?我还制作了一个示例,您可以使用它来测试json,在(刹车线空格)之间存在两个“,”