我正在尝试使用var xhttp = new XMLHttpRequest();
// overrideMimeType() can be used to force the response to be parsed as XML
xhttp.overrideMimeType('text/xml');
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// if ServiceExceptionReport occurs, place it in alert type "error"
var xhr = this.responseXML;
if (xhr.documentElement.nodeName === 'ServiceExceptionReport') {
fancyAlert(this.responseText, 'error');
} else {
fancyAlert(this.responseText, 'info', 'Layer Info');
}
}
};
xhttp.open("GET", text, true);
xhttp.send();
清理URL。但是,无论我在参数中输入什么值,我总会得到
无法读取未定义的属性
bypassSecurityTrustResourceUrl
bypassSecurityTrustResourceUrl
返回:
错误TypeError:无法读取未定义的属性
return this.sanitizer.bypassSecurityTrustResourceUrl('http://www.google.com');
在bypassSecurityTrustResourceUrl
我到过的所有地方都说这应该清理一个URL,并允许它通过iframe显示。我可能会误会要提出的论点。任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
此错误与您作为参数传递的内容无关,而与消毒剂有关。
您需要确保像这样在构造函数中导入并声明消毒剂:
import { DomSanitizer} from '@angular/platform-browser';
...
constructor(private sanitizer:DomSanitizer) { }
答案 1 :(得分:0)
更新:我发现了问题所在。我不确定为什么会这样,但是当我将消毒剂从服务移到我的app.component时,一切工作正常。