0
我有一个用Vanilla JavaScript编写的ajax请求,它从服务器获取JSON文件。但是这表现不佳。这里是我的代码:JSON请求缓慢的JavaScript性能
var data = {
"Description1": {
"key1": "Value 1 here",
"key2": "Value 2 here",
"key3": "Value 3 here"
},
"Description2": {
"key1": "Value 1 here",
"key2": "Value 2 here",
"key3": "Value 3 here"
}
}
var table = document.querySelector('table');
var options = document.getElementById('option1Id');
var rows = '';
for (var p in data) {
for (var k in data[p]) {
if(options.selectedValue == 'Description1'){
rows += '<tr><td>' + k + '</td><td>' + data[p][k] + '</td></tr>'
}
else if(options.selectedValue == 'Description2'){
rows += '<tr><td>' + k + '</td><td>' + data[p][k] + '</td></tr>'
}
}
}
table.innerHTML = rows;
HTML摘录:
<table></table>
<select id="dropdown" onchange="getJson()">
<option value="description1">Description1</option>
<option value="description2">Description2</option>
</select>
的JSON的填充表,每一次不同的选项,从下拉菜单中选择,从表中的数据发生变化。但是,这需要大约10秒或更长时间才能加载,并且JSON文件中的键/值对少于100个。有时它根本不会加载,有时,当我在下拉菜单中更改数值时,它会滞后。这很慢。我能做些什么来使代码更快?任何建议,使这个更好的表现将不胜感激。
没有什么在那里应该引起性能问题,至少,给你描述的程度。您是否检查了网络请求完成需要多长时间? – Harangue
使用数组&'.join('')'而不是连接会提高性能。 – SLaks
您有一个XSS漏洞。 – SLaks