Uncaught (in promise) TypeError: Cannot set properties of null (setting 'innerHTML')
时间: 2023-07-05 21:36:12 浏览: 72
ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法
5星 · 资源好评率100%
这个错误通常是因为你的HTML页面中没有指定一个具有指定ID的HTML元素,或者该元素还没有加载完成就进行了查询结果的渲染操作。请确保你的HTML页面中已经定义了一个具有指定ID的HTML元素,并且该元素已经加载完成。你可以在JavaScript代码中使用`window.onload`事件,等待页面加载完成再进行查询操作。例如:
```javascript
window.onload = function() {
map.on('singleclick', function(evt) {
var viewResolution = map.getView().getResolution();
var url = wmsLayer.getSource().getGetFeatureInfoUrl(
evt.coordinate,
viewResolution,
'EPSG:3857',
{'INFO_FORMAT': 'application/json'}
);
if (url) {
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(json) {
var features = json.features;
var html = '';
for (var i = 0, ii = features.length; i < ii; i++) {
var feature = features[i];
var properties = feature.properties;
var keys = Object.keys(properties);
html += '<ul>';
for (var j = 0, jj = keys.length; j < jj; j++) {
var key = keys[j];
var value = properties[key];
html += '<li><strong>' + key + ':</strong> ' + value + '</li>';
}
html += '</ul>';
}
var queryResult = document.getElementById('queryResult');
if (queryResult) {
queryResult.innerHTML = html;
}
});
}
});
};
```
在这个例子中,我们使用`window.onload`事件来等待页面加载完成后再进行查询操作,并且在查询结果渲染前检查了查询结果元素是否存在,避免了上述错误。
阅读全文