[GELÖST] Kann man diese Funktion so umbauen, dass Sie bei zugriff=false immer abbricht?

Ingo32Q

New member
Hallo,

ich bin mir nicht sicher ob das jetzt wirklich zu Ajax gehört, aber ich frage mal so.

Ich wickel alle Ajaxabrufe über diese Funktion an:

Code:
$.postJSON = function (data, callback) {
    $.ajax({

        dataType: "json",
        url: AjaxPath,
        data: data,
        success: callback,
        type : 'post'
    });
};

in Callback habe ich ja meine Funktion, welche aufgerufen wird wenn die daten zurück kommen.
kann ich an dieser stelle irgendetwas machen, dass wenn "data.zugriff == false" er eine andere funktion aufruft und die callbackfunktion abbricht oder etwas in der art?
Bin total ratlos.
 
Zuletzt bearbeitet von einem Moderator:
Ist mal so ins Blaue geraten, keine Ahnung ob das funktioniert:
Code:
...
success: function() {
   if (!data.zugriff) {
      // Andere Funktion aufrufen ...
      return false;
   } else {
     return callback;
   }
}
...
 
@rico: das return false; ist unnötig, da es nichts bewirkt.

@Ingo32Q: kommt das data.zugriff vom Server zurück oder ist es (wie rico angenommen hat) wirklich im data-Parameter der Funktion drin?

PS: globale Variablen (bei dir AjaxPath) sind oft die Ursache von schwer nachvollziehbaren und schwer behebbaren Fehlern. Deswegen sollte man sie so wenig wie möglich verwenden. Ich bin mir ziemlich sicher, dass man die hier entfernen könnte.
 
Habe es so hinbekommen und es klappt super, dank denkanstöße und probieren :)

PS: es kommt vom server :)

Code:
$.postJSON = function (data, callback) {
    $.ajax({

        dataType: "json",
        url: AjaxPath,
        data: data,
        success: function(json)
        		{
        			if(json.zugriff===false)
        			{
        				alert("Keine rechte");
        			}else{
        				callback(json);
        			}
        		},
        type : 'post'
    });
};
 
Zurück
Oben