我从我的数据库中获取了一个学校列表及其对应的列,这些列有1000多行,然后将其转换为JSON并将其传递给我的视图并使用
解析它$.parseJSON('@Html.Raw(Model.subChoiceJsonString)')
然后将其放入数组
ko.observableArray($.parseJSON('@Html.Raw(Model.subChoiceJsonString)'));
但是我的问题是它不起作用,但是当行数小得多时它就可以工作。
我认为由于Javascript中字符串的限制而无法解析。那是对的吗?我怎样才能使它发挥作用?
答案 0 :(得分:6)
parseJSON()
需要一个字符串
你传递的是一个错误转义的字符串文字,如果JSON有单引号,它将会中断。
相反,您应该使用常规的Javascript文字:
var myObject = @Html.Raw(Model.subChoiceJsonString);
请注意,如果JSON具有U + 2028 LINE SEPARATOR,则会中断;见here。
答案 1 :(得分:0)
是的,这似乎是巨大的...相反,我会添加分页或类似于你的控件。我不知道为什么用户想要一次看到1000多个项目。相反,一次只显示50-100,并允许用户在完整列表中进行分页。
答案 2 :(得分:0)
HTTP本身没有大小限制,但也许您的服务器框架有一些限制。或者可能是您的HTTP请求超出哪个更大的响应。