annotate default/node_modules/jquery/src/ajax/script.js @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 define( [
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 "../core",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 "../var/document",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 "../ajax"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 ], function( jQuery, document ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 "use strict";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 jQuery.ajaxPrefilter( function( s ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 if ( s.crossDomain ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 s.contents.script = false;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 // Install script dataType
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 jQuery.ajaxSetup( {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 accepts: {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 script: "text/javascript, application/javascript, " +
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 "application/ecmascript, application/x-ecmascript"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 contents: {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 script: /\b(?:java|ecma)script\b/
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 converters: {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 "text script": function( text ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 jQuery.globalEval( text );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 return text;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 // Handle cache's special case and crossDomain
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 jQuery.ajaxPrefilter( "script", function( s ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 if ( s.cache === undefined ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 s.cache = false;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 if ( s.crossDomain ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 s.type = "GET";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 // Bind script tag hack transport
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 jQuery.ajaxTransport( "script", function( s ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 // This transport only deals with cross domain requests
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 if ( s.crossDomain ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 var script, callback;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 return {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 send: function( _, complete ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 script = jQuery( "<script>" ).prop( {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 charset: s.scriptCharset,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 src: s.url
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 } ).on(
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 "load error",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 callback = function( evt ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 script.remove();
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 callback = null;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 if ( evt ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 complete( evt.type === "error" ? 404 : 200, evt.type );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63 );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 // Use native DOM manipulation to avoid our domManip AJAX trickery
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
66 document.head.appendChild( script[ 0 ] );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
67 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
68 abort: function() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
69 if ( callback ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
70 callback();
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
71 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
72 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
73 };
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
74 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
75 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
76
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
77 } );