Ajax: Make responseJSON work for erroneous same-domain JSONP requests #4778
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.
Summary
Don't use a script tag for JSONP requests unless for cross-domain requests
or if scriptAttrs are provided. This makes the
responseJSON
property availablein JSONP error callbacks.
This fixes a regression from jQuery 3.5.0 introduced in gh-4379 which made
erroneous script responses to not be executed to follow native behavior.
The 3.x-stable branch doesn't need this fix as it doesn't use script tags for
regular async requests.
Ref gh-4771
Ref gh-4773
Ref gh-4379
+6 bytes
Checklist
New tests have been added to show the fix or feature worksThis fixes an existing test from Ajax: Execute JSONP error script responses #4773If needed, a docs issue/PR was created at https://github.com/jquery/api.jquery.com