Gewusst wie: Debuggen von jQuery AJAX

Ich bin mit Chrome Debuggen von meine websites. Aber irgendwann habe ich mit kommen Fehler wie diese:

Fehler

Uncaught TypeError: Cannot set property 'display' of undefined

Stack-Trace

f.extend.ajax
ClassLoader.performLoadWave

So, ich weiß, dass es etwas in meinem Ajax-Aufruf, wahrscheinlich in meinem Erfolg Funktion. Aber, mein Erfolg Funktion ruft eine Menge Dinge.

Ich bin nicht wirklich auf der Suche nach jemanden, der mir hilft meine debug-code, sondern nur zu Fragen, wie konnte ich Debuggen. Ich benutze eine Menge von Konsole.log(); aber Sie sind nicht wirklich hilfreich, wie kann ich richtig Fehler zu finden, wie diese?

BEARBEITEN

Hinzufügen zu meiner Frage, in diesem Beispiel die Fehler in eine Datei, die geladen wird, indem Sie mein AJAX-call, da der Datentyp von 'Skript', aber wie kann ich wissen, ohne zu Graben, bis ein paar Stunden?


Code

Für jeden, der kümmert sich um meinen code, hier ist es:

$.ajax({
    url: filePath,
    async: false,
    cache: !Settings.debugging,
    dataType: 'script',
    error: function(httpRequest, message, errorThrown){
        if(errorThrown == 'Not Found')
        {
            throw 'Include cannot be found.';
        }
        else
        {
            throw errorThrown + ': ' + (message == 'parsererror' ? 'This doesn\'t look like JavaScript!' : message);
        }
    },
    success: function(){

        $.each(newNeedsLoading, function(index, element){

            if(element !== undefined)
            {

                var className = element.className;
                if(window[className] && window[className]['included'])
                {
                    window[className]['included']();
                }

                className = 'Plugin_' + element.className;
                if(window[className] && window[className]['included'])
                {
                    window[className]['included']();
                }

                className = 'Plugin_Administration_' + element.className;
                if(window[className] && window[className]['included'])
                {
                    window[className]['included']();
                }

                if(element.completed)
                {
                    element.completed();
                }

            }

        });

        ClassLoader.isLoading = false;

    }
});
InformationsquelleAutor jValdron | 2012-02-07
Schreibe einen Kommentar