Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递更多数据时,jQuery.parseJSON停止工作_Javascript_Jquery_Json_Jquery Ui Autocomplete - Fatal编程技术网

Javascript 传递更多数据时,jQuery.parseJSON停止工作

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

我有一个脚本,可以查询数据库并用结果回显json代码。

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,在(刹车线空格)之间存在两个“,”