Heim >Web-Frontend >js-Tutorial >Wie führe ich eingefügte Skripte nach einer AJAX-Anfrage mit innerHTML aus?

Wie führe ich eingefügte Skripte nach einer AJAX-Anfrage mit innerHTML aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-22 08:26:11587Durchsuche

How to Execute Injected Scripts After an AJAX Request using innerHTML?

Ausführen injizierter Skripte über innerHTML nach AJAX-Anfrage

Wenn AJAX verwendet wird, um ein Element mit Daten aus einem serverseitigen Skript zu füllen, ist dies der Fall Es ist üblich, in diese Daten ein Skript-Tag einzufügen. Standardmäßig werden diese injizierten Skripte jedoch nicht ausgeführt. Dieser Artikel zeigt eine Lösung zum Ausführen solcher Skripte nach dem AJAX-Aufruf.

Problem:

Stellen Sie sich ein Div mit der ID „Content“ vor, das dynamisch Daten empfängt, einschließlich eines < ;script> Tag, aus einer PHP-Datei über AJAX. Trotz des Vorhandenseins des Skript-Tags bleibt der darin enthaltene Code nicht ausgeführt.

<div>

Lösung:

Um das über innerHTML eingefügte Skript auszuführen, verwenden Sie den folgenden Code :

var arr = MyDiv.getElementsByTagName('script');
for (var n = 0; n < arr.length; n++)
    eval(arr[n].innerHTML); //run script inside div

Dieser Code ruft das