annotate default/node_modules/jquery/src/ajax/load.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 "../core/stripAndCollapse",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 "../var/isFunction",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 "../core/parseHTML",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 "../ajax",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 "../traversing",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 "../manipulation",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 "../selector"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 ], function( jQuery, stripAndCollapse, isFunction ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 "use strict";
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 * Load a url into a page
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 */
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 jQuery.fn.load = function( url, params, callback ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 var selector, type, response,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 self = this,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 off = url.indexOf( " " );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 if ( off > -1 ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 selector = stripAndCollapse( url.slice( off ) );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 url = url.slice( 0, off );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 // If it's a function
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 if ( isFunction( params ) ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 // We assume that it's the callback
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 callback = params;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 params = undefined;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 // Otherwise, build a param string
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 } else if ( params && typeof params === "object" ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 type = "POST";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 // If we have elements to modify, make the request
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 if ( self.length > 0 ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 jQuery.ajax( {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 url: url,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 // If "type" variable is undefined, then "GET" method will be used.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 // Make value of this field explicit since
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 // user can override it through ajaxSetup method
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 type: type || "GET",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 dataType: "html",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 data: params
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 } ).done( function( responseText ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 // Save response for use in complete callback
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 response = arguments;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 self.html( selector ?
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 // If a selector was specified, locate the right elements in a dummy div
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 // Exclude scripts to avoid IE 'Permission Denied' errors
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 // Otherwise use the full result
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 responseText );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64 // If the request succeeds, this function gets "data", "status", "jqXHR"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 // but they are ignored because response was set above.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
66 // If it fails, this function gets "jqXHR", "status", "error"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
67 } ).always( callback && function( jqXHR, status ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
68 self.each( function() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
69 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
70 } );
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 return this;
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 } );