ajax vraci snippet ale v ramci error state

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Vladik_hk
Člen | 50
+
0
-

Ahoj, co rozhoduje o tom, ze ajaxovy pozadavek je vyhodnocen jako error? Konkretne mi komponenta vraci html snippetu, ale misto do success funkce je to zachyceno error funkci. Navic dane html obsahuje i html nadrazeneho elemetu (to ale jen tak mimochodem, to pak prozkoumam). Dale mi nefunguje spinner, diky moc!

<?php
jQuery.extend({
	nette: {
		updateSnippet: function (id, html) {
			$("#" + id).html(html);
		},

		success: function (payload) {

			window.alert(payload.snippets);
			// redirect
			if (payload.redirect) {
				window.location.href = payload.redirect;
				return;
			}

			// snippets
			if (payload.snippets) {
				for (var i in payload.snippets) {
					jQuery.nette.updateSnippet(i, payload.snippets[i]);
				}
			}
		},

		error: function (payload) {

			window.alert(payload.responseText);
		}
	}
});

jQuery.ajaxSetup({
	success: jQuery.nette.success,
	error: jQuery.nette.error,
	dataType: "json"
});


$(function() {
    // nastav� ud�lost onclick pro v�echny elementy A s t��dou 'ajax'
    $("a.ajax").live("click", function(event) {
            $.get(this.href); // zah�j� AJAXov� po�adavek

            // spinner
            $('<div id="ajax-spinner"></div>').css({
                    position: "absolute",
                    left: event.pageX + 20,
                    top: event.pageY + 40

            }).ajaxStop(function() {
                    $(this).remove(); // po skon�en� spinner sma�

            }).appendTo("body");

            return false;
    });
});
?>
redhead
Člen | 1313
+
0
-

Kód odezvy musí být 2xx (nejlépe 200), pokud je to něco jinýho, třeba 4xx (např. 404) tak je něco špatně. Nebo může jít o parse error JSONu. Posílá se určitě validní JSON?

Editoval redhead (31. 1. 2011 20:13)