0
Ich möchte Daten von HTML an AngularJs übergeben. Das funktioniert gut:AngularJs dekodieren HTML-Zeichen (unerwünscht)
<div ng-init='initModel(@Model.ToJson())'></div>
Actual HTML:
<div ng-init='initModel({
...
"description": "<pre><code><script>alert(\"test\");</script>\n</code></pre>",
"title": "tes testse stsets sets"
}
},
...
})'></div>
Die Beschreibung ist richtig codiert. Die <vor> und <Code> Elemente sind nicht codiert, dies ist vertrauenswürdiges HTML. Das <Skript> Tag ist codiert.
In meinem AngularJS Controller habe ich diese Funktion:
$scope.initModel = function(model) {
$scope.data = model.response.data;
}
Wenn ich einen Haltepunkt in dieser Funktion setzen, Ausgang des Modells ist:
"<pre><code><script>alert("test");</script>↵</code></pre>"
Es ist wie AngularJS sieht decodiert alle HTML-Zeichen durch Ausführen dieser initModel() -Funktion, aber warum? Ich hätte gerne die gleiche Codierung, wie sie im HTML-Code gerendert wird.
Einige Ideen?
Danke!
Sie müssen ngBindHtml verwenden https://docs.angularjs.org/api/ng/directive/ngBindHtml – dmoo
Ich verwende bereits ngBindHtml, aber das Problem ist, dass das