Ich habe ein Problem beim Aufrufen der benutzerdefinierten JS-Funktion, nachdem ich den AJAX-Aufruf ausgeführt habe. Im Grunde habe ich paar Radiobuttons auf der Haupt-HTML-Seite erstellt. Wenn der Benutzer auf einen der Optionsfelder klickt, wird der AJAX-Aufruf ausgelöst und eine weitere HTML-Datei im "div" -Inhalt zurückgegeben, den ich auf der HTML-Hauptseite eingestellt habe. Die andere HTML-Datei enthält eine benutzerdefinierte JS-Funktion (z. B. "updateContent()"), die den onclick-Ereignishandler zum Aufrufen der Funktion verwendet. Wenn ich die App starte und auf die Schaltfläche klicke Ich hatte gesehen, dass der Firebug sich über den Fehler "updateContent() ist nicht definiert" beschwert hat. Die Funktion selbst funktioniert einwandfrei und muss ordnungsgemäß definiert werden. Bitte hilf mir dabei! Vielen Dank.Ich kann eine benutzerdefinierte JS-Funktion nicht aufrufen, nachdem ich den AJAX-Inhalt zurückgegeben habe
Antwort
Die magischen Google Wörter hier sind "JSON-P" und das "On Demand Javascript" Muster. Anstatt einen Chunk zu laden, erstellen und laden Sie einen Tag. Dann wird das Javascript interpretiert, Ihre Funktion definiert, der Nagel gefunden, das Pferd beschlagen und das Königreich ist nicht verloren.
Kannst du mir beibringen, wie man den JSON-P benutzt, um das zu erreichen? –
Dies liegt daran, dass der Js-Code, den Sie über innerHTML einfügen, nie ausgeführt wird. Sie müssen es möglicherweise aus dem HTML-Code extrahieren, führen Sie es durch eval
. PrototypeS haben eine configuration option, um dies automatisch zu tun.
Ich würde Ihnen empfehlen, den js-Code zu trennen und ihn mit dem Rest Ihres js-Codes einzuschließen.
- 1. Wie kann ich ein Layout aufrufen, nachdem ich auf eine Schaltfläche geklickt habe?
- 2. Zeile ändert sich nicht, nachdem ich den Aktualisierungsbefehl ausgeführt habe
- 3. Nachdem ich eine verknüpfte Liste in Python implementiert habe, wie kann ich den Speicher davon befreien?
- 4. Muss ich InputStream schließen, nachdem ich den Reader geschlossen habe
- 5. Wie kann ich den Prozess fortsetzen, nachdem ich in PHP auf eine Ajax-Anfrage geantwortet habe?
- 6. OneSignal - kann die Aktivität nicht öffnen, nachdem ich geklickt habe
- 7. Wie kann ich eine benutzerdefinierte Modellbinder in MVC4 aufrufen?
- 8. Kann benutzerdefinierte Methode nicht aufrufen
- 9. Ich kann die View nicht sehen, nachdem ich sie FrameLayout programmatisch hinzugefügt habe
- 10. Wie analysiere ich eine HTML-Seite, nachdem ich darauf gewartet habe, dass JS den Inhalt lädt?
- 11. Wie kann ich in WPF den Tastendruck abbrechen, nachdem ich ihn mit PreviewKeyDown verarbeitet habe?
- 12. Kann ich den SVN-Zweigverlauf sehen, nachdem ich einen Zweig gelöscht habe?
- 13. Ich kann keinen weiteren ViewController durchführen, nachdem ich den aktuellen mit einem klaren Hintergrund gezeigt habe.
- 14. Wie kann ich mehrere Asteroiden machen, nachdem ich den Code für einen gemacht habe?
- 15. Wie kann ich den Spaltendatentyp hinzufügen, nachdem ich die Spaltenüberschriften zu meiner Datentabelle hinzugefügt habe?
- 16. Kann ich eine Methode auf einem PHPUnit Mock ändern, nachdem ich es eingestellt habe?
- 17. Ich kann den Wert des Nicht-Funktionstyps 'String' nicht aufrufen
- 18. Android - muss ich zipAlign ausführen, nachdem ich jarSigner ausgeführt habe?
- 19. Wie kann ich den Konstruktor aufrufen?
- 20. Wie kann ich den Synchronisierungsdienst aufrufen?
- 21. Wie kann ich den Thread selbst aufrufen?
- 22. Wie kann ich den richtigen Konstruktor aufrufen?
- 23. Warum kann ich meine Kategorieinstanzmethode nicht erhalten, nachdem ich sie aufgerufen habe?
- 24. Wie kann ich eine UIView neu erstellen, nachdem ich sie veröffentlicht habe?
- 25. Wie lege ich eine Ansicht als First Responder fest, nachdem ich eine Tableview-Zelle berührt habe?
- 26. Wie kann ich die vollständige URL sehen, nachdem ich eine Anfrage gesendet habe?
- 27. Wie unterbreche ich meine Anwendung, nachdem ich eine nicht abgefangene Exception bearbeitet habe?
- 28. Warum kann ich meinen derzeitigen Benutzer nicht erreichen, nachdem ich mich angemeldet habe?
- 29. Warum habe ich nicht den Befehl "Kaffee"?
- 30. In Perl, wie kann ich eine Methode aufrufen, deren Name ich in einer Zeichenfolge habe?
Sie holen eine '
' mit Ajax? Nun, das fragt * nach Ärger. –^Vereinbart. Die meisten Funktionen und Verzögerungen treten im Tag "
" auf, das Sie nicht laden. Ich denke, es gibt eine Möglichkeit, die Skripte von derselben Seite zu laden, aber ich poste zurück, wenn ich sie finde ... – Blender