Handle CORS errors in form submissions with fallback to full page redirect #2196
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When forms redirect to external URLs without CORS headers,
XMLHttpRequest.send()throws instead of gracefully degrading. This breaks legitimate use cases like redirecting to external authentication providers or payment gateways.Changes:
request.send()calls in try-catch blocks to intercept CORS exceptionswindow.location.hrefredirect when AJAX failsrequestUrlvariable to track the correct redirect target for GET (with query params) vs POST requestsImplementation:
The change is transparent to same-origin requests while enabling external redirects that previously failed with console errors.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.