Advitum.de auf Google+

Ajax-Scripts kinderleicht debuggen – jQuery Quick-Tip

Ajax-Scripts kinderleicht debuggen – jQuery Quick-Tip
VN:F [1.9.22_1171]
Bewertung: 3.0/5 (2 Stimmen abgegeben)
Von am
Kategorien: JavaScript, jQuery, Programmieren, Quick-Tips, Tipps

Mit jQuery sind Ajax-Aufrufe wirklich kinderleicht. So kann man zum Beispiel ganz einfach auf folgende Weise Daten vom Server per Get-Request bekommen:

$.get('data.php', function(data) {
  //do something
});

In der Variable data steht dann die Antwort des Servers, im Normalfall also der Inhalt der Seite oder das, was vom PHP-Script ausgegeben wird.

Ajax-Scripts kinderleicht debuggen - jQuery Quick-Tip, 3.0 out of 5 based on 2 ratings

Debugging des aufgerufenen Scripts

In einem Kommentar fragte mich Michael:

Also mit Hilfe von Ajax feuere ich in ein von mir angegebenes Script.

Frage: Wie bekomme ich mögliche Fehlermeldungen im angegebenen Script mit?

Ich meine, ich habe ein ErrorHandling implementiert, welches Fehler in die Datenbank schreibt. Doch einen “Fatal Error” bekomme ich in keinsterweise mit. Gut an dieser Stelle könntest Du sagen: Halt das Script einfach! Dennoch:

Gibt es eine Möglichkeit, in der update-Anweisung z.B. ein ‘target: “#msg”‘ für Fehlermeldungen zu setzen?

Meiner Meinung nach ist es am einfachsten, sich in diesem Fall einfach die gesamte Antwort des Servers per alert ausgeben zu lassen.

$.get('data.php', function(data) {
  alert(data);
});

So kann man sich den ausgeworfenen PHP-Error so durchlesen, als hätte man das Script selbst geöffnet. Wenn man noch einen Schritt weiter gehen will, kann man auch alle fehlerhaften Antworten per Ajax an den Server zurück schicken und dort speichern.

Um die Fehler des Servers zu überprüfen, könnte man zum Beispiel so vorgehen:

$.get('data.php', function(data) {
  if(data.indexOf("Fatal Error") != -1)
  {
    //data an Server zum Speichern schicken
  }
});

Ich hoffe, damit ist Michaels Frage beantwortet und vielen anderen Scriptern geholfen. Sollten noch Fragen bestehen, schreibt einfach einen Kommentar!

Ajax-Scripts kinderleicht debuggen - jQuery Quick-Tip, 3.0 out of 5 based on 2 ratings

Jetzt seid ihr dran!

Teilt eure Meinung mit uns in den Kommentaren, gebt eine Bewertung für diesen Artikel ab und teilt ihn in Social Networks!

Über

Ich bin ein junger Webdesigner und Programmierer aus Siegen und blogge auf Advitum.de über meine Erfahrungen im Web. Meine Themenschwerpunkte liegen im Bereich der Web-Entwicklung mit PHP, JavaScript, HTML und anderen Script-, Programmier- und Markup-Sprachen, der Nutzung von Content Management System wie Typo3, Wordpress etc. und der Effekt-Hascherei mit Photoshop. Seit 2008 blogge ich auf Advitum.de – mal mehr, mal weniger regelmäßig – über alles, was mich so interessiert. Wenn dir mein Blog gefällt, freue ich mich immer sehr über Feedback in Form von Kommentaren und E-Mails.

Kommentare zu diese Artikel

Schreibe jetzt einen Kommentar!

Michael schrieb am Antworten

Hallo Lars,

Ich habe ne Frage zum dubuggen!

Ich versuche gerade die sortable-Funktionalität und die drag- & drop-Funktionalität mit einander zu kombinieren. Leider will es nicht so recht klappen. Führe ich die Codeschnipsel getrennt aus ,funktiniert es. Wenn ich es zusammen laufen lasse, dann geht nur nach die drag- & dro-Funktionalität. Wie bekomme ich beide Effekte realisiert. Muss ich noch einen „accept:“ realisieren?

Schon mal besten Dank für deine Antwort

Grüße

    Lars Ebert schrieb am Antworten

    So etwas habe ich schon einmal in einer Bildergalerie gemacht. Das ist ganz einfach, wenn man weiß wie.

    	$(".alben").sortable(
    	{
    		tolerance: 'pointer',
    		opacity: 0.35,
    		cursor: 'move',
    		connectWith: '.alben',
    		update: function(event, ui)
    		{
    			//Dies wird immer Aufgerufen, wenn die Reihenfolge einer Liste sich ändert
    			$.get("save.php?what=reihenfolge&" + $(this).sortable('serialize'));
    		},
    		receive: function(event, ui)
    		{
    			//Dies wird immer Aufgerufen, wenn ein Foto in ein anderes Album verschoben wird
    			//$(this) ist hierbei das neue Album, ui.draggable das bewegte Foto
    			$.get("save.php?what=movephoto&foto=" + fotoid + "&newalbum=" + albumid);
    		}
    	});

    Ich habe mich hierbei an http://jqueryui.com/demos/sortable/#connect-lists orientiert.

    Ich hoffe, das hilft dir weiter.

Michael schrieb am Antworten

Hey Lars,

danke. Ich werde es jetzt mal probieren.

Danke dir.

Grüße

Nico Hirsch schrieb am Antworten

Mach ich auch meistens so und hat mir auch schon oft geholfen! 🙂

Diese Artikel könnten dir auch gefallen