0

Maybe I am not approaching this correctly, but I have a page where the user submits data via ajax call, if that call succeeds I want to return to a specific page (the previous page). What I was hoping to do is redirect as a post call, therefore the logic was going to be if I came to the page as a post I know that the call was successful and can do some action, if the call was a get then don't attempt to do that action.

The part where I am stuck is the only code I found to do a redirect on the client is window.location.href. So is there an equivalent method to redirect as a post (or for that matter any other verb)?

2
  • If you're not limited to using a verb, you could always append a parameter to your URL and check for it to determine how you got there (i.e. window.location.href = '/your/page?successfulPost=true'). Commented Apr 17, 2017 at 20:12
  • Sorry I did not explain that well, I do not want to use querystring because I am concern that the user will bookmark the saved state of the page. Commented Apr 17, 2017 at 20:23

2 Answers 2

2

You can create a hidden form with method=POST and put the redirect link in the action attribute and submit that.
Alternatively, just redirect with a get request and a query param, something like example.com?redirection=1. Now just check if the redirection param == 1 and use that as a condition to do your stuff

Sign up to request clarification or add additional context in comments.

1 Comment

Yeah I wanted to avoid querystring if a user book marked the page but I did find this a minute ago, just trying it now stackoverflow.com/questions/26697338/…
1

The only way to post data is via an HTML form attached to the DOM. If your page doesn't already have a form you can use, you can do this with a bit of jquery like this:

var f = $('<form method="post" action="https://SomeDomain.com/Somepage"></form>'); f.html('<input type="hidden" name="Param1" value="Value1" /><input type="hidden" name="Param2" value="Value2" />'); f.appendTo($('body')); // required for submission to work in Firefox f.submit(); 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.