jQuery.parseJSON 传递更多数据时停止工作
jQuery.parseJSON stop working when passed more data
我有一个脚本可以查询数据库并用结果回显 json 代码。
javascript 使用 jQuery.parseJSON
方法获取并存储在变量中,然后填充文本框以执行自动完成。
如果我 return 在数据库查询中少于 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 之类的这与 returns 数据库的行大小无关。
您可以验证 json here
你能包括产生错误的 json 吗?或者您可以验证我上面提供的 link 中的 json 以检查问题是否出在 json?
问题是数据的其中一个元素带有断线。数字 2,在 value 和 desc 元素之间换行。这是一种有效的 JSON 格式,但 jQuery 出于某种原因不喜欢它。我只是删除了断线,它 works.Thank 你 Ronald !!
{
"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"
}
]
}
我有一个脚本可以查询数据库并用结果回显 json 代码。
javascript 使用 jQuery.parseJSON
方法获取并存储在变量中,然后填充文本框以执行自动完成。
如果我 return 在数据库查询中少于 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 之类的这与 returns 数据库的行大小无关。
您可以验证 json here
你能包括产生错误的 json 吗?或者您可以验证我上面提供的 link 中的 json 以检查问题是否出在 json?
问题是数据的其中一个元素带有断线。数字 2,在 value 和 desc 元素之间换行。这是一种有效的 JSON 格式,但 jQuery 出于某种原因不喜欢它。我只是删除了断线,它 works.Thank 你 Ronald !!
{
"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"
}
]
}