Ajax-GET-url auf Fehler jqxhr
Ich habe eine ajax-Anfrage, die ich bin mir bewusst scheitern von meinem server-side-code für das auslösen der error-handling event. Ich Frage mich, ob es möglich war, erhalten Sie hier die URL versucht? Ich greifen wollen, die URL und injizieren es in ein hyper-link, und wiederholen Sie die Anforderung.
Ist das möglich?
BEARBEITEN
Ich bin in der Lage, um zu sehen, die versuchten URL-Anfrage über FireBug
und inspiziert das jqxhr-Objekt über console.dir()
und kann nicht scheinen, etwas zu finden, was mir hilft, identifizieren die URL versucht zu rufen. Idealerweise nicht speichern möchten, die eine Globale variable hatte gehofft, um diese aus den Argumenten.
Vielen Dank im Voraus, O.
$.ajax({
type: 'get',
url: 'somewhere/foo',
context: this,
success: this.mySuccess,
error: this.myError,
cache: false
});
myError = function (jqXhr, textStatus) {
alert(jqXhr.url); //Get url of failed request and inject it into hyper link?
};
Ja, ich versuchte es mir gibt, ist undefiniert, aber firebug zeigt mir die URL, der es versuchte und hoffte, zu bekommen es über jqxhr.
Sicherzustellen, dass
myError
ist wirklich this.myError
. Ihr code wird es nicht angezeigt, also ich nehme an, das ist das problem.Sie sind vielleicht leichte Probleme mit obigen code, aber versucht, um es zu vereinfachen. Die Fehlerbehandlung ist auf jeden Fall feuern, aber die jqxhr url-Eigenschaft nicht definiert ist? Sollten diese aufgefüllt werden, mit der URL versucht?
InformationsquelleAutor Dr Schizo | 2013-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Speichern Sie Ihre
url
in eine variable. Und Sie können es verwenden, in der error-Funktion. Offensichtlich wird die url gleich sein, wie es geliefert wurde, in die url-parameter der ajax-AnfrageWeitere option können diese
FIDDLE
Arbeitete ein Leckerbissen danke!
Froh, Ihnen zu helfen @DrSchizo 🙂
Danke, das funktioniert mit playframework jsRoutes als gut.
Nur eine Randnotiz: das funktioniert nicht, wenn Sie müssen übergeben von Parametern in GET-Anforderungen;
this.url
funktioniert (stackoverflow.com/a/5468718/4183498)InformationsquelleAutor Khawer Zeshan
Ich glaube, der einfachste Weg wäre:
this
im Rahmen der Fehler-handler? Da die Funktion akzeptiert einejqXHR
Objekt und das Objekt nicht "diese" Eigenschaft... was könntethis
möglich sein? Ich finde die jQuery-Dokumentation nicht allzu hilfreich auf diesem niedrigen Niveau.InformationsquelleAutor neves
Das einfachste wäre, nur den Zugriff auf die url über die ajax-Einstellungen (JQueryAjaxSettings) Gegenstand der Fehler Rückrufe Kontext.
InformationsquelleAutor Honkalonkalooooohhh