Aufrufen von JavaScript-Funktionen, die von Ajax-Antworten zurückgegeben werden
In vielen Systemen geben Ajax-Anfragen Skriptblöcke zurück, die Funktionen enthalten, die nach dem Einfügen von Daten aufgerufen werden müssen . Dies wirft die Frage auf, ob solche Funktionen nach dem Einfügen in ein DIV aufrufbar sind.
Ist das möglich?
Ja, der Aufruf zurückgegebener JavaScript-Funktionen ist möglich, vorausgesetzt:
Beispielcode:
Der folgende Code veranschaulicht das Konzept ohne Verwendung von Ajax:
<code class="javascript">var newsc = '<script id="sc1" type="text/javascript">function go() { alert("GO!") }</script>'; var e = document.getElementById('div1'); e.innerHTML = newsc; eval(document.getElementById('sc1').innerHTML);</code>
Überlegungen:
Sie können die Funktion zwar in eine separate .js-Datei externalisieren, es kann jedoch zu Problemen bei wiederholten Ajax-Aufrufen oder Funktionskontextänderungen kommen. Überlegen Sie sich daher Ihre Designentscheidungen sorgfältig.
Alternativer Ansatz:
Wenn Sie unmittelbar nach Erhalt der Ajax-Antwort einen kontextbewussten Aufruf der Funktion benötigen, wird die Verwendung empfohlen Der von Krosenvold beschriebene Prototyp-Ansatz. Es ist browserübergreifend, getestet und bietet eine solide Grundlage für zukünftige Implementierungen.
Das obige ist der detaillierte Inhalt vonKönnen Sie JavaScript-Funktionen aufrufen, die von Ajax-Antworten zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!