这个问题已经被很多人提出过,但没有一个符合我的标准。 我在MVC(Razor)局部视图上使用google map api,在第一页上加载一切都很好,因为我可以看到DOM浏览器中没有错误。
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&key=My-Key&callback=initialize" type="text/javascript"></script>
现在,我有一个刷新按钮,它会触发ajax调用以重新加载地图局部视图。在这个特定的ajax调用的成功事件中,我在数据加载之前删除了先前加载的map div
success: function (data) {
$('script').each(function () {
if (this.src === 'https://maps.googleapis.com/maps/api/js?sensor=false&key=My-Key&callback=initialize') {
this.parentNode.removeChild(this);
};
}); // didn't work - Still getting the error
$(widgetDivId).remove();
$(outerDivId).html(data);
},
此时,当我查看DOM浏览器时,我得到了“您已经在此页面上多次包含Google Maps API”。这可能会导致意外错误。错误。每次刷新都会增加错误。 虽然功能明智的地图仍然可以正常工作,但我担心从长远来看它是否会引起问题,因为这个应用程序往往每隔几分钟刷新一次数据。
如果我在成功函数上加载数据或者解决此问题的任何其他建议之前我可以删除以前添加的api src脚本,有什么办法吗?
我已经尝试了$(widgetDivId).empty以及src的手动删除但是没有一个对我有效