Commit Graph

261 Commits

Author SHA1 Message Date
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
96b00a4935 Moves active counter test after all other ajax tests where it should be. 2011-01-19 18:44:21 +01:00
Colin Snover
e78d3a7e2d Merge in data_nocollide branch. Fixes #6968, improves unit testing framework checks for leaky stuff. 2011-01-17 15:31:43 -06:00
jaubourg
cfca6d3836 Fixed the ajax test regarding the jsonp option set to false and added a test to control the prefilter actually does not tamper with the url. 2011-01-16 05:36:20 +01:00
jaubourg
0e93b2e24c Revised jsonp unit tests and added a test for when the jsonp option is set to false. 2011-01-16 05:27:16 +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
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
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
f83cdc3c4c Yet another missing semicolon! 2011-01-11 23:43:02 +01:00
jaubourg
6504d4f700 Fixes #6230. Added a unit test to control that, since the ajax rewrite, setting the Accept header actually replaced the previous value and didn't append to it (tested in Safari 4.0.4 for which the problem was specifically reported). 2011-01-11 23:01:18 +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
jaubourg
84319aa4a3 Fixes a race condition in JSONP Local test. 2011-01-10 00:52:20 +01:00
Colin Snover
e2941d5a98 Update unit tests with a leak detection mechanism for the various jQuery globals and fix all leaks in the tests. 2011-01-09 15:58:47 -06: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
7bc5386230 Simplified cross-domain detection tests. 2011-01-09 17:27:29 +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
63487505c6 Added a test for retrying a request on error using jQuery.ajax(this). Works as intended. Fixes #7461. 2011-01-09 06:19:27 +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
368f2441f6 Added missing commas. 2011-01-07 15:52:58 +01:00
Colin Snover
e56de77df9 Cleaning up trailing whitespace again. 2011-01-05 15:44:07 -06: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
6165cc45b7 Renamed several ajaxSettings options. Removed cors test, fixed failing cors test. 2010-12-31 04:15:09 +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
unknown
22e28b01e6 Changed dataConverters key format. 2010-12-31 04:05:52 +01:00
Colin Snover
3e0cc81504 Clean trailing whitespace from all files. 2010-12-30 00:34:48 -06:00
jaubourg
974637d639 Simplified headers tests: removed multiline headers (support is far too servers & browsers dependant) and made all the tests in a single request. 2010-12-11 02:41:39 +01:00
jaubourg
0b0889ceaa Tweaked the headers test to be apache independent and actually work. 2010-12-11 02:21:54 +01:00
jaubourg
9fa9a57076 Changed document.location to window.location per Ben Alman advice. 2010-12-10 07:00:06 +01:00
jaubourg
9b9d270e3d Removed non-standard (and not that useful) xhr emulation methods & reworked the headers test as a consequence. 2010-12-10 02:45:08 +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
6c68124928 Merge branch 'bug7531' of https://github.com/csnover/jquery into csnover-bug7531 2010-12-06 17:22:02 -05:00
Anton M
a2c2d68d7f Add unit test for fix to #7578. 2010-11-24 23:35:26 +01: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
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
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
jeresig
ec462a33af Fix broken Ajax test after recent revert to jQuery.ajax namespace. 2010-10-13 00:07:52 -04:00
jeresig
26db3f0933 Disable 304/Not Modified Ajax tests in Opera due to lack of suitable workaround. See: http://gist.github.com/599419 2010-10-10 18:46:32 -04:00
John Resig
57c046f91c Tweak broken serialize tests from commit 879799fe95. Thanks to @jaubourg for the catch. 2010-09-30 15:40:30 -07:00
jeresig
ea6a4813b7 Allow 304/Not Modified tests to complete in Opera. 2010-09-27 12:10:00 -04:00
temp01
7862c45ad2 Serialize keys with empty arrays/object values in jQuery.param(). Fixes #6481. 2010-09-24 16:57:25 -04:00
John Resig
f9f9ee52e1 Make sure that #... are trimmed from Ajax request URLs. Fixes #4987. 2010-09-22 12:52:44 -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
jeresig
c90d609c0d Fixing request data param issue. Thanks to mislav for the patch. Fixes #5123. 2010-06-14 23:08:28 -04:00
malsup
d1931a8241 Fix for http://dev.jquery.com/ticket/6451 2010-06-15 11:02:26 +08:00
jeresig
273822c138 Update other remote test URLs as well. 2010-03-23 16:24:51 -04:00
jeresig
0fbac16dbe Strip off filename and query string for JSONP Remote test. 2010-03-23 16:22:09 -04:00
jeresig
dcf0fa5048 More changes to get jQuery in line with JSLint. 2010-03-01 21:24:49 -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
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
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
308d6cdad0 Make sure that a parsererror is thrown whenever malformed JSON comes back from a server (so that the Ajax error handler is called). Makes it uniform across browsers that do and don't have JSON.parse support. 2010-01-07 12:21:58 -05:00
jeresig
84dd82eb1a Add some abort() Ajax tests. Verifies that #3984 works. 2010-01-06 12:13:56 -05:00
jeresig
6861b5d4eb Added in support for content-type sniffing for scripts. Fixes #5718. 2010-01-06 10:19:38 -05:00
Rick Waldron
787f271052 Detect JSON Ajax requests by the response content-type (like is done with XML). Fixes #5709. 2010-01-05 19:48:16 -05:00
Ben Alman
3951894504 Moved jQuery.param "traditional" flag into jQuery.ajaxSettings, can now be overridden via 2nd argument to jQuery.param 2009-12-23 01:49:53 +08:00
Dave Methvin
b31b9bd756 Add new html5 input types to list of serializable types. Older browers handle these as type="text" so they should be consistently serialized on both old and new browsers. Fixes #5667. 2009-12-18 04:05:45 +08:00
Ben Alman
927e1966de Further modified jQuery 1.4 .param() method to serialize arrays containing non-scalar values. PHP and jQuery BBQ can both deserialize these structures, while rack (as of 1.0.0) cannot. 2009-12-18 04:01:05 +08:00
John Resig
fbc73d45b4 Added in support for $.ajax jsonpCallback (allowing you to specify the name of the callback method - and allowing you to avoid skipping the cache). Fixes #4206. 2009-12-06 17:17:14 -08:00
jeresig
f0c32278b4 Just restore window.JSON in the getJSON test, don't try to delete the value. 2009-12-03 11:28:49 -05:00
John Resig
c08474580c Re-wrote context Ajax test to use an element instead of an object (a more realistic test and works with the new jQuery.extend logic for cloning object literals). 2009-11-17 14:36:10 -05:00
John Resig
6a722e251d jQuery.ajax modified the passed-in object only to help test the code - this shouldn't occur. Fixes #5439. 2009-11-07 16:08:07 +01:00
Yehuda Katz
67089eedf6 Getting $.param working well; Patch by ben_alman 2009-09-17 22:37:19 +00:00
Jörn Zaefferer
f55fb36e54 remove globals in tests for compability with ?noglobals, to be enabled by default 2009-09-15 17:51:38 +00:00
Ariel Flesler
cf8c1249d1 jquery ajax: addition for #2452. Wasn't working correctly in some cases. 2009-09-15 16:45:37 +00:00
Ariel Flesler
183f37e4b4 jquery ajax: closes #4994. Adding 'context' setting to $.ajax 2009-09-15 15:19:58 +00:00
Yehuda Katz
50d78e7658 Adds nested param serialization; Closes #4201 (by merbjedi) 2009-09-02 05:16:21 +00:00
John Resig
a64ad8b4e9 Temporarily disabled some tests for Opera 10 - a variety of problems with input elements and selectors exist. 2009-08-26 16:29:46 +00:00
John Resig
6649ae2903 Exaggerate the times for the localtimeout ajax test. 2009-07-21 20:24:12 +00:00
John Resig
ad5ba1a72e Fixed spelling mistake in Ajax tests. 2009-07-14 21:20:16 +00:00
John Resig
c3c94823f2 Fixed the handling of .status == 304 in Opera (it always returns 0). Also silently "pass" in Opera 9.6 (which is unable to send the correct headers with setRequestHeader). Follow-up to bug #4764. 2009-07-14 21:13:23 +00:00
John Resig
739644dce5 Minor tab-spacing tweak. 2009-06-15 13:40:10 +00:00
John Resig
28ab4d3224 Adding support for etags in $.ajax() - and simplified the if-modified-since implementation. Thanks to Lawrence for the patch! Closes ticket #4764. 2009-06-15 13:36:12 +00:00
John Resig
90a87c03b4 Switched to using new Function instead of eval for handling JSON parsing (Fixes bug #4680). Added support for JSON.parse, if it exists (Fixes bug #4429). 2009-05-20 21:28:48 +00:00
Brandon Aaron
29411a4405 error case for an ajax test 2009-05-16 20:22:47 +00:00
Brandon Aaron
cbda6c541b fix global event triggering that i broke in r6323 2009-05-01 00:59:27 +00:00
John Resig
ca79d866fe Made it so that search input elements are now serialized. Fixes bug #4107. 2009-02-18 19:43:14 +00:00
John Resig
aa29b8e3bc Had to remove the global variable tricks (especially the delete window calls) as they cause
exceptions in IE. Also fixed a faulty test that assumed the order of Ajax function callbacks 
would be consistent.
2009-01-12 01:12:58 +00:00
Ariel Flesler
afb05081c0 testrunner: Putting back the global variables used for ajax tests. I added many calls to delete though. The global namespace must be cleaned up before calling start() again. 2009-01-10 00:16:48 +00:00
Ariel Flesler
d62875fb01 testrunner: Removing every global variable leaked within (and outside) tests. Some were deleted and some saved within the jQuery namespace. 2009-01-09 23:49:18 +00:00
John Resig
45b3a884d5 Timeout test appears to be flaky - disabling, for now. 2009-01-05 22:14:26 +00:00
John Resig
60226c8a30 The timeout test was waiting for 10 seconds - unnecessary, lowered it to 1 second. 2009-01-05 22:05:59 +00:00
Jörn Zaefferer
12bb969411 core: tests cleanup for compability with qunit updates: stop() now actually accepts an argument (ajax.js); selectors should be confined to fixture(event.js) 2008-10-24 14:40:58 +00:00
Ariel Flesler
9e48649729 test runner: the changes are:
- Replaced all the $ for jQuery in the tests and suite.
- Added a noConflict to testrunner.js.
- Modified the test for noConflict() so that it still work.
- Added jQuery 1.2.1 and 1.2.3 to otherlibs.
2008-05-28 23:18:25 +00:00
Ariel Flesler
c6e88b16e9 test runner: a test for load() with a hash of data, and another for load() with a string of data (#1516).
It includes a php that dumps all the GET and POST vars to html elements, where the key makes the id, and the value the text.
2008-05-27 22:46:28 +00:00
Scott González
5311565223 ajax test: Removed test for extending with null. 2008-05-07 01:16:54 +00:00
Jörn Zaefferer
46931d3146 jquery ajax: support for dynamic data arguments, see #2806; added test/data/echoQuery.php for easier testing of sent query strings 2008-05-06 22:21:43 +00:00
Ariel Flesler
ba48be3ada test runner: translated all the ok() with '==' to equals(), as it gives more information on failures. 2008-05-06 18:56:02 +00:00
Jörn Zaefferer
e454e8305d jquery.ajax: improvement for #2688, added test 2008-04-22 22:07:17 +00:00
David Serduke
0635df4391 Fixed #2174 by removing the s.dataType == "json" check for possible cross domain since it causes absolute urls to use a <script> tag ajax retrieval even though absolute urls work fine for retrieving local data. Cross-domain jsonp will still work since the $.ajax() function actually changes the s.dataType to "script" before it reaches this check in cases where it is s.dataType == "jsonp" or s.dataType == "json" and a parameter has =? in it. 2008-01-17 21:38:58 +00:00
John Resig
b721a2f472 Added a fix for bug #2020 - if you want to do data: {callback: "?"}, do jsonp: "callback" instead. 2007-12-17 00:44:00 +00:00
David Serduke
06c2f06a21 Fixed #2046 by forcing the dataType to 'html' in the .load() function. 2007-12-14 17:06:41 +00:00
David Serduke
e1af5faf80 Fixed #1750 by adding a url that starts with "//" and is a dataType "script" will now use a cross domain load the same as urls that start with "http". 2007-12-12 20:54:44 +00:00
David Serduke
c6a44c7943 Fix #1987 by only doing remote <script> type ajax with GET requests. All other types will be passed on to XMLHttpRequest. 2007-12-11 20:16:19 +00:00
David Serduke
12ef255ffd Added ajax error messages in the unit test suite because Safari was sometimes tossing errors that were being ignored and that caused a freeze in the test suite. 2007-12-06 23:23:10 +00:00
David Serduke
be4a8c32ac Safari sometimes stops in the test suite on the ajax section when I run the whole suite and its running on my local machine. I went ahead and put better error detection in for the test that is the culprit so it will keep going. It seems to do fine if I run it from a server. It gives xml.status as 0. Maybe this is the reason http://www.pearweb.com/javascript/XMLHttpRequest.html 2007-12-05 23:03:58 +00:00
David Serduke
aee221d33c Fixed #1999 by replacing the 'no-cache' parameter if it is there instead of just appending. 2007-12-04 04:43:45 +00:00
David Serduke
701b072e1a There was a disabled test in the ajax test suite which said there were too many simultainous requests. I re-enabled it when I found a bug that might have been the cause of the failure instead and it seems to work fine. We can disable it again if that ends up not being the case. 2007-12-04 01:51:07 +00:00
David Serduke
4b8f6cdc86 Fixed #1557, although it doesn't appear to be just an FF3 problem. In this case, $.getJSON() wasn't working from a remote host. I went ahead and added a unit test then added the s.dataType == "json" test for a remote <script> load. The said that json was allowed but the dataType check was missing. This appears to have fixed the bug across all browsers. 2007-11-29 19:07:20 +00:00
John Resig
b453257653 Disabled the Ajax tests from running locally. 2007-09-23 15:58:49 +00:00
John Resig
62d84e44ac Added a fix for bug #1580, where the query string was appended to the POST data, instead of being left alone. 2007-09-15 01:18:30 +00:00
John Resig
6d71a10ed2 Fix for bug #1600 - multiple selects were being serialized incorrectly. 2007-09-15 00:23:21 +00:00
John Resig
6728e3cf74 Finished up some of the reorganization. 2007-09-08 12:46:01 +00:00