-
Notifications
You must be signed in to change notification settings - Fork 262
Open
Milestone
@mgol
Description
The full logic for whether to use the script tag is implemented by this function:
function canUseScriptTag( s ) { // A script tag can only be used for async, cross domain or forced-by-attrs requests. // Requests with headers cannot use a script tag. However, when both `scriptAttrs` & // `headers` options are specified, both are impossible to satisfy together; we // prefer `scriptAttrs` then. // Sync requests remain handled differently to preserve strict script ordering. return s.scriptAttrs || ( !s.headers && ( s.crossDomain || // When dealing with JSONP (`s.dataTypes` include "json" then) // don't use a script tag so that error responses still may have // `responseJSON` set. Continue using a script tag for JSONP requests that: // * are cross-domain as AJAX requests won't work without a CORS setup // * have `scriptAttrs` set as that's a script-only functionality // Note that this means JSONP requests violate strict CSP script-src settings. // A proper solution is to migrate from using JSONP to a CORS setup. ( s.async && jQuery.inArray( "json", s.dataTypes ) < 0 ) ) ); }
We should document it.
Metadata
Metadata
Assignees
Labels
No labels