2012-04-13 4 views
0

umleiten Ich arbeite an einem Grails-Projekt und kann nicht für das Leben von mir herauszufinden, wie diese Aufgabe zu erreichen. Grundsätzlich habe ich eine Seite, die eine Ajax-Anfrage an einen Controller auslöst. Der Controller überprüft dann, ob die Ressource gültig ist, und sendet 410 an den Client zurück, was impliziert, dass die Ressource weg ist. Der Client öffnet dann ein jquery-Dialogfeld und teilt dem Benutzer mit, dass er umgeleitet wird, weil die Ressource ungültig ist. Hier ist der Code verwende ich das zu tun:eine benutzerdefinierte Fehler Fehlermeldung erhalten und URL von jqXhR in Grails und Ajax

response.setStatus(410, message) 
    def message =message(code:'default.listing.expired.message', args:[email]).toString() 
    response.setStatus(410, message) 
    forward action:"list" 
    return 

So erwarte ich meine Kundenmeldung zu sehen, wenn ich jqXHR.statusText tun, aber ich bekomme nur den Bestand HTTP „Gegangen“ -Meldung. Wie kann ich auf die URL zugreifen, an die der Server weiterleitet (Vorwärtsaktion: "Liste")?

Antwort

0

Sie mit einem JSON reagieren soll (oder XML, oder etwas, das Sie auf Client-Seite leicht lesen kann), versuchen:

response.setStatus(410) //set response status 
def data = [ 
    message: message(code:'default.listing.expired.message', args:[email]).toString(), 
    link: createLinkTo(action: 'list') 
] 
render(data as JSON) //send response data as JSON 
+0

Das war nicht genau das, was ich suchte, aber es war tragfähige Lösung das Problem. Danke für den Vorschlag! – Buzzer

Verwandte Themen