Ich poste einige Informationen zu einem externen Dienst, auf dem sie die Postparams verarbeitet und sollte ihre eigene Seite mit den Parametern, die ich gesendet habe, zeigen.Wie umleiten auf externe Service-Seite bei Post-Anfrage?
d. H. Es sollte auf ihre Anfrage auf meiner Seite umgeleitet werden.
Hier ist, was ich tue: Ich verwende HTTParty, um die Daten an ihre URL zu posten und die Antwort im Antwortobjekt zu speichern und render: html zum Rendern zu verwenden.
Ich bekomme einen HTML-Antwort Antwortobjekt.
hier ist der Code:
example_url = 'https://www.example.com/service.aspx'
post_params = build_params # builds params for post request
response = HTTParty.post(cams_url_two,
body: URI.encode_www_form(post_params),
headers: { 'Content-Type' => 'application/x-www-form-urlencoded' },
verify: false)
@result[:url] = response.body
Und Controller Ich verwende
jedoch
render html: result[:url].html_safe
machen, was hier geschieht, ist die Antwort zurückgibt html, die auf meine eigene Anwendung also localhost gerendert wird, Es versucht auch, seine Assets in meiner App zu suchen.
Was hier erwartet wird, ist nach dem Schlagen einer Post-Anfrage, sollte es auf ihre Website umleiten.
Irgendwelche Ratschläge oder Hilfe, wie erreiche ich das?
Vielen Dank!
Versuchen Sie, die Seite auf Antwort "URL" umleiten? – hgsongra
@hgsongra ja, das ist, was ich tun möchte. Aber anstatt eine Antwort-URL zu erhalten, erhalte ich eine vollständige Antwortseite in meinem Antwortobjekt. – VoidZero
Ersetzen Sie Ihre letzte Zeile in oben genannten Code-Block mit diesem Code 'redirect_to response.body' Ich gehe davon aus, dass Ihre' response.body' Rückgabe 'url' – hgsongra