In one line you use $('form') to select the form to change its action, but then you use $(this) to try to select that same form. I would guess that this inside the callback function isn't what you expect it to be, and is something other than your form (possibly the window object).
$(this) was actually supposed to be $('form'), this was a mistake which i had corrected in the code forgot to edit it in the stackoverflow post before i posted. Do'h. Regards the chaining, yea i know i can do it all in one go, I just prefer doing it separately for better overview
@adamj Honestly, the code looks correct to me with that change. You'll probably have to debug it, see what's being returned by the AJAX request, see what parts of the code are firing, etc.
AJAX is fine no problems there. When it runs the .submit() for the first time it hits the AJAX it gets back the data and hits the success. It should then .unbind() the form from the submit and resubmit the form but the resubmit never occurs. By default you would instantly know whether it worked by it submitting the form which would lead to example.com, but this doesn't happen.