aboutsummaryrefslogtreecommitdiffstats
path: root/src/ajax.js
diff options
context:
space:
mode:
authorDallas Fraser <dallas.fraser.waterloo@gmail.com>2020-08-25 15:41:06 -0400
committerGitHub <noreply@github.com>2020-08-25 21:41:06 +0200
commita1e619b03a557b47c3e26a5e74af12b63a0d5e73 (patch)
tree65175107663fb32b2be82f94599f3af57d8708fe /src/ajax.js
parent07a8e4a177550025c1a08d7ac754839733943f55 (diff)
downloadjquery-a1e619b03a557b47c3e26a5e74af12b63a0d5e73.tar.gz
jquery-a1e619b03a557b47c3e26a5e74af12b63a0d5e73.zip
Ajax: Execute JSONP error script responses
Issue gh-4379 was meant to be a bug fix but the JSONP case is a bit special: under the hood it's a script but it simulates JSON responses in an environment without a CORS setup and sending JSON payloads on error responses is quite typical there. This commit makes JSONP error responses still execute the payload. The regular script error responses continue to be skipped. Fixes gh-4771 Closes gh-4773
Diffstat (limited to 'src/ajax.js')
-rw-r--r--src/ajax.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ajax.js b/src/ajax.js
index a6dc4095a..55b528eac 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -746,8 +746,10 @@ jQuery.extend( {
response = ajaxHandleResponses( s, jqXHR, responses );
}
- // Use a noop converter for missing script
- if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) {
+ // Use a noop converter for missing script but not if jsonp
+ if ( !isSuccess &&
+ jQuery.inArray( "script", s.dataTypes ) > -1 &&
+ jQuery.inArray( "json", s.dataTypes ) < 0 ) {
s.converters[ "text script" ] = function() {};
}