Commit Graph

274 Commits

Author SHA1 Message Date
jaubourg
21143c3b21 Removed internal dataTypes option and added headers & crossDomain options into commented out options of ajaxSettings. 2011-01-16 03:05:03 +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
44fc87f66c Fixes #4964. Adds a statusCode object together with a new statusCode method on the jXHR object (deferred behaviour). They accept a map of statusCode/callback(s). Callbacks are fired when the status code of the response correponds to the key (as a success or an error callback depending on how the request completed). Unit tests added. 2011-01-13 17:01:25 +01:00
jaubourg
b07d43c649 Cleans up statusText handling and simplifies 304 notmodified logic. 2011-01-13 01:43:42 +01:00
jaubourg
97b244312e Removes unnecessary variables and adds much needed comments into the data conversion logic in ajax. 2011-01-13 01:18:46 +01:00
jaubourg
ed1144816b Fixes a regression by calling dataFilter with the second argument set as the dataType. 2011-01-13 00:49:58 +01:00
jaubourg
e9fb7d5be6 Gets rid of a var statement by moving variable declarations up. 2011-01-13 00:41:10 +01:00
jaubourg
14b07ec5de AjaxSetup now uses deep extend internally to accomodate map structured options. 2011-01-12 18:53:00 +01:00
jaubourg
5a721cf31b Fixes 4825. jQuery.fn.load: use the jXHR's Promise interface to get the actual response in case ajaxSettings contains a dataFilter. Unit test added. 2011-01-11 20:02:33 +01:00
Dave Methvin
4e86766d54 Change embedded regexp to a variable (for #6876). 2011-01-09 16:22:11 -06:00
jaubourg
0f28835ee9 Make it so prefilters get access to the original settings. 2011-01-09 20:31:15 +01:00
jaubourg
5a5f67800b Fixes #5955. Option crossDomain now forces ajax to consider a request as cross-domain even when it is not. Useful for when servers issue redirects to cross-domain urls. Unit test added. 2011-01-09 16:50:13 +01:00
jaubourg
c55a76a23f Make sure prefilters have been called and transport has been selected before sending any global event (in case the "global" option has been changed). 2011-01-09 16:32:51 +01:00
jaubourg
afefb4f3d2 Fixes #7465. Reworked the regexp and associated test for cross-domain detection so that it now includes ports. Added cross-domain detection tests for protocol, hostname and port. 2011-01-09 06:01:00 +01:00
jaubourg
d515068ee8 Fixes #7868. ResponseText is now properly propagated for error callbacks. 2011-01-09 04:53:29 +01:00
jaubourg
69497c3fd7 Fixes #7881. Setting contentType to false will prevent the Content-Type header from being sent. Unit test added. 2011-01-09 04:28:42 +01:00
jaubourg
1ca82ccd94 Renamed "complete" to "done" in order to avoid conflicts with jXHR.complete. 2011-01-06 01:26:06 +01:00
Colin Snover
e56de77df9 Cleaning up trailing whitespace again. 2011-01-05 15:44:07 -06:00
jaubourg
cbf591152c "then" renamed "complete" and new "then" method defined using "complete" and "fail" internally. The API is still symetrical (complete/fail), still promotes AOP but is also now Promise/A compliant. Changed unit tests and ajax module accordingly. 2011-01-05 04:29:30 +01:00
Dave Methvin
eed3803c98 When serializing text, encode all line breaks as CRLF pairs per the application/x-www-form-urlencoded specification. Fixes #6876. 2010-12-31 13:56:51 -06:00
jaubourg
3c6f1380fa Revised conversion logic to handle converter equal to true properly. 2010-12-31 04:15:12 +01:00
jaubourg
6dbffb8596 Introduced a new promise method on deferreds that returns an immutable object (exposing then, fail, isResolved, isRejected and promise itself only). Remove $.isDeferred and moved logic directly into $.when. Made sure $.when returns a promise by using promise(). Used promise() in ajax code too. 2010-12-31 04:15:11 +01:00
jaubourg
6165cc45b7 Renamed several ajaxSettings options. Removed cors test, fixed failing cors test. 2010-12-31 04:15:09 +01:00
jaubourg
2a5c16f217 Revised logic in data conversion to account for when dataFilter modifies the dataTypes list. 2010-12-31 04:13:42 +01:00
jaubourg
981d1e08eb Removed re-usability from jXHR object (no more open, send & onreadystatechange support). Streamlined the implementation and put it back into ajax.js (removed xhr.js in the process). Went back to a more simple & direct approach to options handling (keeping much room to further minification-related optimizations). Code is cleaner, smaller & faster. Removed & edited unit tests accordingly. All build files have had xhr.js removed. 2010-12-31 04:13:40 +01:00
jaubourg
6f53be1839 Removed dataCheckers, added true as possible value for dataConverters indicating dataType equivalence (ie. no conversion has to be performed). 2010-12-31 04:05:58 +01:00
unknown
22e28b01e6 Changed dataConverters key format. 2010-12-31 04:05:52 +01:00
jaubourg
d5bb001b9a Rewrote the data conversion logic in ajax. Should be cleaner and faster. 2010-12-31 04:05:48 +01:00
jaubourg
e29ebbc199 Renamed jQuery.xhr.bindTransport as jQuery.xhr.transport. Generalized the implementation and made prefilters use the same logic. Cleaned up code and removed as many loops and each as possible. 2010-12-31 04:05:46 +01:00
jaubourg
fef0f63526 Rewrote the data conversion logic in ajax. Should be cleaner and faster. 2010-12-31 03:56:10 +01:00
jaubourg
4c49c87d4d Renamed jQuery.xhr.bindTransport as jQuery.xhr.transport. Generalized the implementation and made prefilters use the same logic. Cleaned up code and removed as many loops and each as possible. 2010-12-31 03:53:00 +01:00
Colin Snover
3e0cc81504 Clean trailing whitespace from all files. 2010-12-30 00:34:48 -06:00
Ben Alman
78a6f5b152 Removed unnecessary upper/lowercase, it's all just lowercase now (since $.ajax will uppercase as-needed). 2010-12-26 22:49:01 +00:00
Ben Alman
1830db4226 WETness getting you down? Fear not, the $.get and $.post methods are now 866% DRYer. This fixes #7847. 2010-12-26 18:52:27 +00:00
Colin Snover
1f92edee20 Fix fix for #6481 introduced at 7862c45ad2 which did not like it when Array.prototype was modified on empty arrays. 2010-12-22 18:54:22 -06:00
jaubourg
ab74d8e6a0 Fix the closure in ajax.js too. 2010-12-10 03:16:50 +01:00
jaubourg
ab3ba4a812 Rewrite of the Ajax module by Julian Aubourg. Some (dated) details can be found here: http://oksoclap.com/6Y26bm1ZsB more details are forthcoming. Fixes #7195. 2010-12-09 13:34:28 -05:00
John Resig
9759e9f6bb Merge branch 'bug6242' of https://github.com/csnover/jquery into csnover-bug6242 2010-12-06 17:23:08 -05:00
John Resig
6c68124928 Merge branch 'bug7531' of https://github.com/csnover/jquery into csnover-bug7531 2010-12-06 17:22:02 -05:00
Colin Snover
238ac5a0aa Fix memory leaks in IE caused by the custom abort function of $.ajax. Fixes bug #6242. 2010-12-03 00:12:52 -06:00
Anton M
8259efe734 Set cache to false as default for script or json requests. Fixes 7578. 2010-11-19 23:14:24 +01:00
Colin Snover
c04500a834 Optimize for size instead of speed. 2010-11-17 14:50:05 -06:00
Colin Snover
2a0c7d702b Coerce s.url to string before calling replace, since replace is also a method of a Location object. Fixes #7531. 2010-11-17 00:59:24 -06:00
John Resig
aa74396976 Merge branch 'bug7422' of https://github.com/csnover/jquery into csnover-bug7422 2010-11-09 12:40:55 -05:00
John Resig
fb48ae8e6c Make sure that when multiple variables are being declared that assignments are each done on their own line. 2010-11-09 11:09:07 -05:00
Colin Snover
e57b73a0ac Ensure that AJAX requests are actually aborted in all browsers. Fix #7422. 2010-11-06 13:52:30 -05:00
John Resig
de58db0cdf Backing out fix for #5803 from 3b50eaca2c. 2010-10-25 17:54:27 -07:00
John Resig
a4fc842019 Merge branch 'jquerymaster' of http://github.com/SlexAxton/jquery into SlexAxton-jquerymaster 2010-10-25 13:06:55 -07:00
dmethvin
09022e0b09 Allow DELETE requests to have a content body, and properly serialize data to the url for HEAD requests. Fixes #7285. 2010-10-25 13:06:02 -07:00
rwldrn
3b50eaca2c Fixes #7229 and #5803 2010-10-24 12:18:33 -04:00
Alex Sexton
a58f8f22d1 Forces lower case comparison of protocol and host when determining whether the request is remote or local. Fixes #6908 2010-10-20 21:12:47 -07:00
John Resig
497fc9849e Bringing back the change from 80a4178af9, adapted to handle both the function collision and the issue mentioned in #7196. 2010-10-15 01:29:38 -04:00
jeresig
80a4178af9 Reverting commit 39addc87a3 after a report of problems. Fixes #7196. 2010-10-14 20:55:40 -04:00
jeresig
d490bcfa7c Oops, still have jQuery.ajax.* on the brain. 2010-10-13 21:25:23 -04:00
Pinhook
39addc87a3 Handle issue with two concurrent JSONP requests that use the same callback name. 2010-10-13 10:30:19 -04:00
John Resig
6245ecb2b9 The world isn't ready for moving the Ajax methods to jQuery.ajax.*. Hope to move them there some day. Fixes #7146. 2010-10-11 18:29:52 -04:00
John Resig
9b655a176b Merge branch 'bug7018' of http://github.com/csnover/jquery into csnover-bug7018 2010-10-09 16:25:55 -04:00
jeresig
da597bcf90 Name the try/catch arg to satisfy JSLint - thanks to @rwldrn in 873c28425f for the catch. 2010-10-09 12:26:44 -04:00
Colin Snover
d2e64979bf Fix bug #7018. 2010-10-06 03:03:28 -05:00
John Resig
873c28425f Make sure we have a fallback when XMLHttpRequest is manually disabled. Fixes #6298. 2010-09-28 10:12:33 -07:00
jeresig
e63fa8beb8 Merge branch 'master' of http://github.com/aakoch/jquery into aakoch-master 2010-09-27 14:49:13 -04:00
Dave Methvin
c4e653237f Make sure that requests without a body don't set contentType, and a zero-length body is sent rather than null. Possible fix for #6811 and #6674. 2010-09-24 17:56:03 -04:00
Dave Methvin
1130beb72b Report correct Error object to handleError. Part of the fix for #6677. 2010-09-24 17:47:37 -04:00
jeresig
700ff05af0 Merge branch 'master' of github.com:jquery/jquery 2010-09-24 17:05:28 -04:00
Dave Methvin
395a032ad8 Use origSettings.context unless it's undefined; for that case use merged settings as context for backcompat with jQuery <1.3. Fixes #6727. 2010-09-24 17:04:54 -04:00
dmethvin
c8c8f8458a For JSON and script requests, set the scriptCharset before the url so IE won't interpret it the wrong way; fixes #4855. 2010-09-25 05:01:31 +08:00
Heungsub Lee
033a4c41e0 Added a default quality of */* for content negotiation. 2010-09-25 05:00:18 +08:00
temp01
7862c45ad2 Serialize keys with empty arrays/object values in jQuery.param(). Fixes #6481. 2010-09-24 16:57:25 -04:00
unknown
a088751a1b Removing the second capture group. After the changes suggested by Jeff Roberson, the second capture group is no longer needed. See
http://stackoverflow.com/questions/3771105/can-someone-tell-me-the-purpose-of-the-second-capture-group-in-the-jquery-rts-reg
2010-09-24 09:37:03 -05:00
jeresig
ab454d9526 Allow # urls to contain #. Thanks to @alvopass in f9f9ee52e1 for the catch. 2010-09-22 14:58:07 -04:00
John Resig
f9f9ee52e1 Make sure that #... are trimmed from Ajax request URLs. Fixes #4987. 2010-09-22 12:52:44 -04:00
jeresig
9dc6e0c572 Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062. 2010-09-22 09:16:28 -04:00
John Resig
dc8491defe Scratch that, just punting on Opera and 304s for now - there may not be a good solution here. Fixes #6060. 2010-09-21 16:13:50 -04:00
John Resig
ba9e0fc177 Use a different workaround for detecting when Opera finds a status 304 page. Fixes #6060. 2010-09-21 15:22:34 -04:00
John Resig
959c20f768 Add a flag to verify if a browser supports some form of XHR request. Fixes #7030. 2010-09-13 18:02:33 -04:00
jeresig
bca5765502 Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011. 2010-09-08 13:54:33 -04:00
jeresig
c90d609c0d Fixing request data param issue. Thanks to mislav for the patch. Fixes #5123. 2010-06-14 23:08:28 -04:00
jeresig
c34a62f8ab Tweak spacing from last commit. 2010-06-14 23:05:01 -04:00
malsup
d1931a8241 Fix for http://dev.jquery.com/ticket/6451 2010-06-15 11:02:26 +08:00
jeresig
8effe3a7de Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least). 2010-03-23 12:12:16 -04:00
jeresig
86ace44fbb Moving more properties onto jQuery.ajax, also copy them back to the jQuery object for backwards compatibility. 2010-03-02 10:44:48 -05:00
jeresig
dcf0fa5048 More changes to get jQuery in line with JSLint. 2010-03-01 21:24:49 -05:00
jeresig
8c8f685a91 We don't want to increment the Ajax counter if there isn't a global event. 2010-03-01 19:31:13 -05:00
jeresig
a4043cdcbf Land some additional tweaks related to running through JSLint. 2010-03-01 18:19:29 -05:00
jeresig
a18f682012 Made some code tweaks related to running jQuery through JSLint (thanks to Lorin Larson for the JSLint run). 2010-03-01 12:44:56 -05:00
jeresig
a45372a4c5 Adding in .bind(name, false), .unbind(name, false) support - an easy way to just stop bubbling and the default action on an element. Fixes #6188. 2010-02-27 09:02:13 -05:00
John Resig
639f4931b0 No reason to expose the temporary _load method. 2010-02-11 01:23:13 -05:00
Ben Alman
3c5b1ca03b Ok, this should actually fix #6041 :) 2010-02-06 11:46:44 +08:00
jeresig
54bd004e53 Make sure that we don't try to double-encode params using the traditional style. Fixes #6041. 2010-02-05 19:43:31 -05:00
Mike Alup
ca90ffb332 Provided detailed message for JSON parse errors. Fixes #4435. 2010-01-25 18:48:52 -05:00
John Resig
1a14a38ff7 Make sure original context is maintained and not the deep extended one. Fixes #5924. 2010-01-25 01:08:24 -05:00
John Resig
f91b944cab Objects with length properties weren't getting serialized properly by jQuery.param(). Fixes #5862. 2010-01-25 00:46:03 -05:00
John Resig
76236a1506 Use alternative technique for triggering an abort, preventing an exception from being thrown in Firefox. Fixes #5923. 2010-01-24 22:13:52 -05:00
John Resig
c639405c4d Don't set the context in .load() as it stops the global ajax events from firing. Fixes #5922. 2010-01-24 21:58:32 -05:00
jeresig
0912109ffc Expose the JSON parsing logic. Fixes #5914. 2010-01-23 16:51:51 -05:00
jeresig
a6ef036bb6 Centralize the logic for throwing exceptions. Fixes #5913. 2010-01-23 16:48:47 -05:00
John Resig
155ecf42a0 Make sure regular settings object is set as context for all Ajax requests, if none is specified. Fixes #5838. 2010-01-16 10:11:01 -05:00
jeresig
05aaa33957 Make sure that null params aren't traversed. Fixes #5794. 2010-01-13 09:29:01 -05:00
jeresig
23492fdf9f Send data if a DELETE Ajax request is done. Fixes #5752. 2010-01-13 00:42:22 -05:00