【发布时间】:2020-12-08 17:18:03
【问题描述】:
我想用 javascript 访问 json 对象中数组的长度。我在 JSON 对象中解析我的视图的列表模型并尝试访问它。 这是我的功能:
<script>
function showCerts(storeName) {
var store = storeName;
var model = '@Html.Raw(Json.Encode(Model))';
var obj = JSON.parse(model);
for (var i = 0; i < Object.keys(obj[store].Certificates).length; i++) {
var node = document.createElement("p");
var textNode = document.createTextNode(obj[store].Certificates[i].FingerPrint);
node.appendChild(textNode);
document.getElementById("certs").appendChild(node);
}
}
</script>
JSON 对象如下所示:
[{"Name":"ClientAuthIssuer","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]},
{"Name":"Disallowed","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]},
{"Name":"MY","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]}
]
我想获取 ClientAuthIssuer 的 Certificates 属性的长度,例如遍历其中的证书并将其作为 p 元素添加到 div。
我在尝试运行我的脚本时总是收到此错误:
Uncaught TypeError: Cannot read property 'Certificates' of undefined
感谢您的帮助。
【问题讨论】:
-
那么当这个错误发生时
storeName的值是多少呢?您也不需要使用 Object.keys() 来遍历数组 -
我有一个名为“ClientAuthIssuer”的按钮,它调用javascript函数并将参数“ClientAuthIssuer”作为storename传递给函数。
标签: javascript c# model-view-controller certificate