Commit Graph

254 Commits

Author SHA1 Message Date
jaubourg
1c77259d06 Removes unnecessary call to .off() as noted by @dcherman. 2013-01-21 03:05:03 +01:00
jaubourg
1ad874f344 Further script transport cleanup, close gh-1123. 2013-01-20 18:10:07 -05:00
jaubourg
c373a499d3 Reduced script transport 2013-01-20 18:08:59 -05:00
jaubourg
62acda819f Adds the abort on unload trick back in since IE9 still exhibits the bug 2013-01-07 10:34:14 -05:00
jaubourg
f6df0301c8 Fixes comments per @rwldrn. Makes sure failing requests from local protocol yields status 404, not 0. 2013-01-07 10:34:11 -05:00
jaubourg
17049c73bc 2.0: reduced xhr transport 2013-01-07 10:34:07 -05:00
Oleg
d41b983259 Fix #10417. setTimeout w/o 2nd arg is jQuery.later! Close gh-1065. 2012-12-10 20:51:49 -05:00
Richard Gibson
a938d7b128 No ticket: compress ajax. Close gh-1041. 2012-11-25 13:07:46 -05:00
Timo Tijhof
4fed8eb86d Set async to true instead of async (prop vs. attr). Closes gh-1039 2012-11-21 21:47:59 -05:00
Oleg Gaidarenko
cafb542da9 Alternate fix for #11426; check responseText. Close gh-843. 2012-10-20 21:25:39 -04:00
Rick Waldron
6aae3e1038 Latest JSHint gets cranky with the _ vars in catch() {} 2012-10-15 18:05:36 -04:00
Chris Faulkner
7b5ffcdac8 Fixes a variety of typographical problems. Closes gh-853 2012-07-11 09:46:21 -04:00
Mike Sherov
8f01b92b8f Follow the style guide, lose 72 bytes! Closes gh-840. 2012-07-09 21:39:22 -04:00
Rick Waldron
7c23b77af2 Strips IIFEs from modules; Always require built jQuery for tests. 2012-06-04 12:48:18 -04:00
jaubourg
d55a764e6e When IE6 & IE7 serve from the cache in async mode, resolves the request asynchronously. Fixes #11778. 2012-05-16 23:43:16 +02:00
jaubourg
8ad22a2b15 Prevents tests for replaceInData to take place if replaceInUrl is already true. 2012-04-23 00:07:15 +02:00
Richard Gibson
180a997da5 remove redundant condition 2012-04-22 14:53:36 -04:00
Richard Gibson
2d1247a413 style adherence 2012-04-22 11:40:02 -04:00
Richard Gibson
b0ea80e9fd refactor jsonp.js for size and clarity 2012-04-22 11:36:44 -04:00
jaubourg
8ebb2f4793 Fixes #8205. Mitigates memory usage by recycling jsonp callback names the safest possible way (no kittens were harmed in the making of this). Doesn't even try to delete window properties (would necessitate a try/catch for IE which makes the cost in size prohibitive). Unit tests added. 2012-04-20 03:02:20 +02:00
jaubourg
bd56456b1e Fixes #4624... 3 years later, people! 2012-03-07 17:08:59 +01:00
jaubourg
484cea1b56 Fixes #11426: getting the responseText of an xhr should be tried/caught because of IE's inability to give access to binary data. Unit test added. 2012-03-07 15:39:39 +01:00
Mike Sherov
135bb4ff81 Add undef:true to JSHint now that it understands hoisting
also add smarttabs:true and fix some smarttabs spacing issues
2012-01-19 22:36:08 -05:00
Mike Sherov
98386cfd77 Fix #10692. JSLint is dead! Long live JSHint!
Still needs this sizzle PR: https://github.com/jquery/sizzle/pull/82
2011-12-08 21:04:57 -05:00
jaubourg
a28eadff48 Makes sure no unload handler is bound when not in IE. Also simplifies the whole "on unload abort" code. Also avoids the declaration of yet another variables in the jQuery main closure for the temporary XHR used to assess support properties. 2011-04-21 18:43:40 +02:00
jaubourg
3a3842c669 (Re) Fixes #8884 in a way that keeps the format of the headers map sent to transports natural. 2011-04-19 00:29:20 -07:00
jaubourg
a519129e99 Removes now unnecessary regexp and companion function. Fixes some spacing issues. Shortens field names. 2011-04-15 14:16:43 -07:00
Sam Bisbee
a9a79ccc6e Continuing to map request headers using their name in uppercase for the index, but we now map to an object with an unmodified name and value: { name: "", value: "" }. This prevents overwriting of the user's supplied headers, which many applications parse with case sensitivity, because we no longer use the modified, uppercase index when building the request. 2011-04-15 16:36:43 -04:00
jaubourg
4ad9b44dea Ensures callback placeholders are tested for and eventually replaced in data only when contentType is application/x-www-form-urlencoded and data is a string. Removes json to jsonp promotion when jsonp or jsonpCallback options are present. Uses new Deferred.always method to bind cleanUp function. 2011-04-13 19:27:19 +02:00
jaubourg
2594a935de Applies exception in Style Guidelines regarding objects and functions when they are the last argument of a function call. 2011-04-08 17:41:14 +02:00
jaubourg
2ed81b44be Fixes #8744. Makes sure script transport abort method actually removes the script tag even if readyState exists. 2011-04-04 17:41:30 +02:00
jaubourg
6c124d3dd4 Fixes #8423. Never set X-Requested-With header automagically for cross-domain requests. 2011-03-07 00:42:09 +01:00
jaubourg
58faec7cb7 Removes unnecessary parenthesis from regular expression. 2011-02-24 06:37:37 +01:00
jaubourg
ea3e10a492 Minor changes to enforce JQuery Core Style Guidelines. 2011-02-12 00:14:11 +01:00
jaubourg
066304edf0 Adds missing crossDomain test. 2011-02-11 07:39:46 +01:00
jaubourg
f2e0ae1a39 Fixes #8245. Ajax now ensures header names are capitalized so that non-compliant xhr implementations don't override them. 2011-02-11 07:07:06 +01:00
jaubourg
3a1d7a3c7c Simplifies status normalization in xhr transport. Local file test modified for clarity. 2011-02-11 07:02:11 +01:00
jaubourg
6f4b36ed17 Replaces jQuery.each loop for headers with a foreach loop. 2011-02-09 17:50:45 +01:00
jaubourg
f6e173437e Fixes #8219. Introduces the mimeType option to override content-type header in conversion (and in native xhr when possible). Adds companion overrideMimeType method on jqXHR object (it simply sets the option). Unit test added. 2011-02-09 17:47:33 +01:00
jaubourg
0c21c83e96 Makes sure xhrs are actually aborted on unload in IE. Simplifies active xhrs caching in the process. 2011-02-07 06:11:52 +01:00
jaubourg
d6fbbe1080 Fixes #8177. XHR transport now considers 304 Not Modified responses as 200 OK if no conditional request header was provided (as per the XMLHttpRequest specification). 2011-02-05 03:08:35 +01:00
jaubourg
4d808a3345 Don't use a local copy of jQuery.ajaxSettings.isLocal anymore but use the current value so that it is possible to set isLocal to true for protocols unknown to jQuery. 2011-02-03 18:22:37 +01:00
jaubourg
ee22a59129 Stores jQuery.ajaxSettings.isLocal locally at load time so that any change to it won't affect the transport. Fixes the url parsing regexp to deal with empty domains. Adds informative text into test/localfile.html and handles Opera's failure. Revises the way xhr are created by doing all tests at load time and normalizes all the xhr creation functions so that none of them may throw an exception. 2011-02-03 06:12:47 +01:00
jaubourg
823eecab90 Fixes #8146. Custom fields in xhrFields are now set after the XMLHttpRequest object has been opened. 2011-02-03 03:02:11 +01:00
jaubourg
d77a2a2274 Fixes #8152 by applying the same special cases for protocol "chrome-extension:" as were for "file:" (needs tests). Re-organizes and fixes the handling of special cases for HTTP status code in the xhr transport. Also re-organizes the handling of document.location in ajax.js. 2011-02-03 02:53:10 +01:00
jaubourg
5ef7ddc4c5 Fixes #8146 by introducing the xhrFields option with is a map of fieldName/fieldValue to set on the native xhr. Can be used to set withCredentials to true for cross-domain requests if needed. 2011-02-02 21:16:26 +01:00
jaubourg
b90369e8cb Fixes #8135. Makes sure any exception thrown by Firefox when trying to access an XMLHttpRequest property when a network error occured is caught and notified as an error. Added test/networkerror.html to test the behavior. 2011-02-02 13:33:31 +01:00
Mathias Bynens
462bb1f66a Fixes #8098. Use the fast document.head when available. Don't set unneeded "script.type = text/javascript". 2011-02-02 00:59:00 +01:00
jaubourg
cb85da7b62 Fixes #8125. Status is set to 200 for requests with status 0 when location.protocol if "file:". Added test/localfile.html to control it works. 2011-02-01 17:22:01 +01:00
jaubourg
cb49b4a1b6 Fixes #8115. Renames all references to jXHR with jqXHR in the code (like was done in the doc). 2011-02-01 16:00:53 +01:00
jaubourg
e0b1bb8e3d Script dataType now supports ecmascript mimetypes. 2011-01-31 19:14:06 +01:00
jaubourg
f286a716d5 Makes sure jsonp callback is not left in the global namespace in case of an early abort (beforeSend). Unit test added. 2011-01-31 18:53:44 +01:00
jaubourg
85a195c6d5 Fixes #8082. Text to script converter now returns text. Unit test added. 2011-01-29 01:39:22 +01:00
jaubourg
b9f2131a9d Fixes potential collisions between jsonp requests from different jQuery instances by prefixing the jsonp callback name with the jQuery expando rather than with "jsonp". 2011-01-29 01:25:27 +01:00
jaubourg
325dcdc2ab Fixes #8054 by reverting feature enhancement 5812 (4920). Regexps no longer searches for %3F in url or data to find jsonp callback placeholders. 2011-01-26 00:55:39 +01:00
jaubourg
5ca8f0617f Reworks how values of parameters passed to error callbacks are determined. Fixes #8050. 2011-01-25 16:08:19 +01:00
jaubourg
ee22c8b34b More code style fixes. 2011-01-23 20:46:09 +01:00
jaubourg
dd5bf42122 Apply JQuery Core Style Guidelines to ajax.js and ajax/*.js, 2011-01-23 05:51:41 +01:00
jaubourg
3dbd600e19 Moves determineResponse logic into main ajax callback. Puts responseXXX fields definitions into ajaxSettings. 2011-01-20 19:40:51 +01:00
jaubourg
8ad2b31ff6 Removes misleading comment. 2011-01-20 18:50:47 +01:00
jaubourg
ef86694ada Renames determineDataType as determineResponse. Makes it more generic as a first step into integrating the logic into the main ajax done callback. Also fixes some comments in ajax/xhr.js. 2011-01-20 17:38:21 +01:00
jaubourg
64e1cdbb95 Cleans up and simplifies code shared by ajaxPrefilter and ajaxTransport. Removes chainability of ajaxSetup, ajaxPrefilter and ajaxTransport. Also makes sure context is handled properly by ajaxSetup (unit test added). 2011-01-20 04:12:15 +01:00
jaubourg
1cecfa1ece Moves determineDataType into ajaxSettings so that it is accessible to transports without the need for a second argument and so that we can now pass the original options to the transport instead. Also ensures the original options are actually propagated to prefilters (they were not). 2011-01-19 18:16:29 +01:00
jaubourg
92c3d87a9c Moved ajaxSettings.xhr definition together with support.ajax and support.cors determination into ajax/xhr.js. 2011-01-19 16:55:26 +01:00
jaubourg
158fa822de Setting the jsonp option to false now inhibits any url manipulation regarding the callback. 2011-01-16 05:26:46 +01:00
jaubourg
f74b844989 The script prefilter now forces cross-domain requests type to GET. 2011-01-16 05:25:45 +01:00
jaubourg
8ab23aec2c Fixes #2994. Not finding a transport now fires the error callbacks and doesn't make ajax return false. Had to revise how jsonp and script prefilters & transports work (better separation of concerns). Also took the opportunity to revise jXHR getRequestHeader and abort methods and enabled early transport garbage collection when the request completes. 2011-01-16 02:57:39 +01:00
jaubourg
a8fa5f2ec1 Moved jQuery.ajax.prefilter and jQuery.ajax.transport to jQuery.ajaxPrefilter and jQuery.ajaxTransport so that proxying the ajax method doesn't turn into a nightmare. Thanks go to scott_gonzalez and DaveMethvin for pointing out the issue. Also made ajaxSetup return "this" to enable chainable definitions -- jQuery.ajaxSetup(...).ajaxPrefilter(...).ajaxTransport(...). 2011-01-13 18:33:24 +01:00
jaubourg
57956152d8 Removed xhr pooling since failing cross-domain requests leaves the xhr object in an undefined state in Firefox. Also rewrote comments related to the active xhr list so that they make sense. 2011-01-13 16:58:16 +01:00
jaubourg
667a3b31e6 Reworked script and xhr abort logic to take advantage of the fact jXHR.abort will complete the request itself if not done already. 2011-01-13 02:05:39 +01:00
jaubourg
e221d39e98 Script transport now uses ajaxSetup to define script dataType. 2011-01-12 18:54:15 +01:00
jaubourg
0c51e9d55f Fixes #4897. Added ?? as a context-insensitive placeholder for the callback name of a JSONP request. Unit tests provided. 2011-01-12 18:36:00 +01:00
jaubourg
1d1d4fe112 Moved unload abort code so that the event is only bound if the xhr transport is used. Fixes #5280. 2011-01-09 22:20:58 +01:00
jaubourg
8c8bd3bf6a Fixes #5812. =? will be detected even when it has been escaped during data serialization. 2011-01-09 21:48:52 +01:00
jaubourg
62a1a1a8fa Fixes #5803. Reworked jsonp prefilter so that it sets the dataType as jsonp and recognizes requests with originalSettings having jsonp or jsonpCallback to be jsonp. Moved default jsonp option value into ajaxSettings. Attached the transport to "jsonp" which avoids unnecessary testing. Transport factory sets dataType back to json for proper data conversion. 2011-01-09 21:19:27 +01:00
jaubourg
d515068ee8 Fixes #7868. ResponseText is now properly propagated for error callbacks. 2011-01-09 04:53:29 +01:00
jaubourg
98c6c4b2b0 Added a simple cache for xhr objects in the xhr transport. 2011-01-09 04:03:00 +01:00
jaubourg
c43b078c69 Renamed src/transports to src/ajax (in case we need prefilters in the future and to avoid a separate prefilters directory). 2011-01-06 01:17:31 +01:00
John Resig
b4e23b5af0 Reorganzing the jQuery source (first phase). 2007-09-08 12:42:32 +00:00
John Resig
84eb2cffca Forgot to update the $.param() tests. 2007-09-05 17:22:13 +00:00
John Resig
ad5539bab3 Re-disabled the Ajax tests in Safari. 2007-09-05 17:09:18 +00:00
John Resig
f96bf10415 Integration of Mike Alsup's excellent form serialization code. The benefits are as follows:
- New method: .serializeArray()
This returns an array of name/value pairs representing the contents of a form, or individual input elements.
- Enhancement: .serialize()
The results are correct now (as opposed to the mess from before), and allows you to serializes forms directly (rather than just the input elements).
- Enhancement: .val()
This now returns the correct value when dealing wih selects. Additionally, when dealing with multiple selects, it returns an array of values.

Based upon Mike's code:
http://malsup.com/jquery/form/comp/form.js

and test suite:
http://malsup.com/jquery/form/comp/test.html
2007-09-05 17:06:05 +00:00
John Resig
53dc6afc31 Removed all deprecated functionality for jQuery 1.2. A full list of what was removed can be found here: http://jquery.com/blog/2007/08/24/jquery-114-faster-more-tests-ready-for-12/ 2007-09-04 02:55:38 +00:00
John Resig
139393fe09 Removed all inline documentation. The current version of all documentation is stored online, on the wiki: http://docs.jquery.com/ 2007-09-04 01:57:35 +00:00
John Resig
d5bb0e3179 Re-disabled the ajax tests in Safari 3. 2007-09-03 23:59:31 +00:00
John Resig
a5dbcaf675 Added support for:
- Cross Domain getScript
  $.getScript("http://foo.com/script.js");
- JSONP
  $.ajax({ url: "script.js", type: "jsonp" });
  $.getJSON("script.js?callback=?");
- Cross Domain JSONP/getJSON
  $.getJSON("http://foo.com/script.js?callback=?");
- No-cache Ajax Requests
  $.ajax({ url: "test.html", cache: false });
2007-09-03 23:45:14 +00:00
John Resig
0477a6e99e Added a test case for "purple include", fixed a bug. 2007-08-25 03:55:12 +00:00
John Resig
34f1042902 New feature: You can now inject portions of a document via .load(), as opposed to the full thing.
Examples:
- $("#test").load("test.html #something");
- $("#test").load("test.html p.user");

Caveats:
- No scripts are injected when a selector is used.
- The selector is rooted inside the head and body - it's equivalent to doing:
  $("body,head").find(selector)
2007-08-25 03:33:08 +00:00
John Resig
257eaf7ee3 Marked all the appropriate methods as being deprecated for the 1.1.4 release (in preparation for 1.2). 2007-08-24 01:28:07 +00:00
John Resig
4df20c0c1b Brought back a husk method to represent evalScripts. I didn't realize so many plugins relied on it (it's deprecated in this release). 2007-08-24 01:06:23 +00:00
John Resig
f948f02680 Tweaked the Ajax test suite for Safari. 2007-08-22 07:10:50 +00:00
John Resig
8c15e852a4 Two quick fixes in relation to #1028. ajaxSetup shouldn't be deep and the boolean arg should be used, not overwritten with 'true'. 2007-08-21 04:46:07 +00:00
John Resig
e112e6b04d Make deep .extend() an optional argument - it will go deep if you pass in an boolean as the first argument (fixed bug #1028). 2007-08-21 04:42:31 +00:00
John Resig
2ef4093cf7 Complete overhaul of the Ajax test suite, it's now passing in all browsers. In order to achieve this I had to fix a numbe
r of bugs in the suite itself, along with other random bugs that popped up. The following bugs were resolved along the wa
y: #1236 (.extend() keeps processing when it hits nulls), #1028 (.extend() now works recursively), #1080 ($.get no longer
 overwrites the data parameter), #1210 (Creating script and link tags now work), and #1463 (jQuery.global has been re-too
led to no longer leak memory and slow things down).
2007-08-19 23:37:26 +00:00
John Resig
f64eb21fad We were catching exceptions within the success callback of an Ajax request, then causing an error callback to be called (which is incorrect). (Bug #1441) 2007-08-19 00:48:53 +00:00
John Resig
6b0d3bb273 Brought back jQuery.globalEval(), fixing bug #1425. 2007-07-31 02:59:53 +00:00
Sean Catchpole
e6c067858e nevermind, I'm dumb. =P 2007-07-26 00:31:48 +00:00
Sean Catchpole
8a80d05a44 Fixed ajax array arguments in $.param 2007-07-26 00:27:56 +00:00
Brandon Aaron
b965c98ff1 missing semi-colon 2007-07-21 01:53:38 +00:00
John Resig
e20e8e6e3c Added support for parsererror errors from Ajax requests (bug #1145). 2007-07-21 00:52:30 +00:00