Projekt Ich arbeite an verwendet jQuery.Komplexes JavaScript. Was hat mich angerufen?
Ich habe eine Reihe von Ajax-Aufrufe gemacht, die andere HTML-Fragmente laden(), die wiederum andere Fragmente laden(). Das Ganze ist verwirrend. Ich habe den Code nicht geschrieben.
Gibt es ein Tool, mit dem ich den Callstack laufen kann, damit ich herausfinden kann, was eine Methode aufruft? irgendwelche Browser-Tools, die mir helfen würden, dies herauszufinden?
Auflösung:
Am Ende dieser verursacht wurde, weil ein < script src = "..." wurde in dem serverseitigen Code injiziert. Ihre Vorschläge haben mir sehr geholfen - es war eine Kombination aus diesen und die vorübergehende Einstellung von Ajax auf Synchronisierung statt Async hat mir geholfen, das Problem aufzuspüren.
$.ajaxSetup({
async: false
});
Javascript ist so viel Spaß beim Debuggen, nicht wahr? Ich kenne keine Tools, mit denen Sie den Stack überwachen können, und fügen Sie Breakpoints hinzu, um Dinge zu überprüfen. Der beste Debugger, den ich für JS benutzt habe, ist Firebug: https://addons.mozilla.org/en-US/firefox/addon/1843/ – Jay
@Jay, ich benutze VS2008 und setze JS Code Breakpoints die ganze Zeit. –
Beachten Sie, dass Ajax-Methoden aufgrund ihrer asynchronen Natur schwer zu debuggen sind - die zurückkehrenden Aufrufe befinden sich nicht auf demselben Stapel wie die aufrufenden Aufrufe. –