jQuery .load () / .ajax () führt nach dem Anhängen kein Javascript in zurückgegebenem HTML aus

Ich habe versucht mit.load() und$.ajax um HTML zu erhalten, das an einen Container angehängt werden muss, aber das Javascript im zurückgegebenen HTML wird nicht ausgeführt, wenn ich es an ein Element anhänge.

Verwenden.load():

$('#new_content').load(url+' #content > *',function() {
    alert('returned');
});

Ich habe auch versucht, zu einem $ .ajax-Aufruf zu wechseln. Ich habe dann das Skript aus dem zurückgegebenen HTML-Code extrahiert und es anschließend an den Container angehängt. In diesem Fall wird der JS jedoch nicht ausgeführt oder sogar angehängt<script> für ein DOM-Element wie dieses ist verpönt?

Verwenden$.ajax:

$.ajax({ url: url }).done(function(response) {
    var source  = $("<div>").html(response).find('#overview_script').html();
    var content = $("<div>").html(response).find('#content').html();

    $('#new_content').html(content);
    $('<script>').appendTo('#new_content').text(source).html();

});

Idealerweise würde ich dieses Javascript in einem Rückruf ausführen, nachdem ich den HTML-Code angehängt habe, aber die Variablen werden auf Werte gesetzt, die von einem Controller zurückgegeben werden.

Zusammenfassend versuche ich, HTML-Code zu erhalten, der JS enthält, der ausgeführt werden muss, nachdem dieser HTML-Code angehängt wurde, aber ich hatte kein Glück bei der Verwendung.load() oder$.ajax() da das Skript im zurückgegebenen HTML entweder beim Anhängen verschwindet oder gar nicht ausgeführt wird.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage