Commit graph

293 commits

Author SHA1 Message Date
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
jeresig b5f077ae6a Make sure that the xhr object still exists after the abort is called. 2010-01-12 21:44:37 -05:00
jeresig 61983cbf17 Make sure oldAbort is only called if the xhr object still exists. 2010-01-12 16:50:59 -05:00
jeresig dd45c324ec Simplified some of the logic for handling the ajax aborts, making sure that ajaxStop isn't called twice. 2010-01-12 10:59:50 -05:00
jeresig d60b197810 ajaxStop was getting called too many times, separated some of the logic into the abort method itself. 2010-01-12 10:47:00 -05:00
jeresig 7afe6dcc08 Make sure that Opera fires events after an aborted Ajax attempt. Fixes #5787. 2010-01-12 10:31:51 -05:00
jeresig 44e6beb103 Make sure we do the malformed JSON check for all both JSON.parse and new Function (this helps to create uniformity between browser implementations of JSON.parse - like where Chrome allows some malformed strings. Thanks to DBJDBJ for the heads-up. 2010-01-11 16:43:21 -05:00
jeresig a9665bbe9b Make sure the exception has some level of parity with the error from json2.js. 2010-01-07 12:25:50 -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 c14fa516ae Back out the try/catch logic from around JSON.parse. We should always try to use it, otherwise security will suffer. 2010-01-07 11:54:26 -05:00
jeresig c68fbc2071 There's enough logic going on in jQuery.ajaxSettings.xhr to warrant splitting the function based upon the functionality. 2010-01-07 10:00:55 -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
jeresig ff3645ee05 Try to use the native JSON parser in all cases and fallback to the old technique otherwise. This allows us to also handle cases where the JSON parser is unable to parse JSON-like strings correctly (e.g. {foo:bar}) which is something that worked before but would stop working with the switch to the new parser. 2010-01-05 17:33:41 -05:00
jeresig 3f648c4e3a Make sure that the ActiveX exception is caught if it's unable to be loaded. Fixes #2849. 2010-01-05 11:35:11 -05:00
jeresig b2289f3ec1 Try to use XMLHttpRequest in more cases in IE 7. Thanks to Matt Kruse and Sam Collett for the suggestions. Fixes #3623, #2849, #5338, and #5529. 2010-01-05 10:57:30 -05:00
jeresig 6cb2945837 Rather than declaring empty anonymous functions all around, introduce and use a single empty function. Thanks to Matt Kruse for the suggestion. 2009-12-31 09:50:49 -05:00
jeresig fe6c86d530 Experiment switching to using onreadystatechange rather than a setInterval for Ajax requests. Fixes #5735. 2009-12-30 23:53:06 -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
jeresig 3776cbe314 Standardize on using double-quotes for string literals. 2009-12-21 20:13:16 -05:00
jeresig 61e37d4149 Made a number of spacing changes to bring the code more-inline with the jQuery Core Style Guideline. 2009-12-21 19:58:13 -05:00
Dave Methvin fe7e2fee16 Ignore case of script tags to make sure they're removed. Fixes #5668. Thanks to Motty/Fudgey for the report and Jitter for the patch! 2009-12-18 04:06:54 +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
Dave Methvin d85d366fbf Default callbackContext to the $.extended ajax options for 1.3.2 compatibility, per #5654. 2009-12-18 04:01:39 +08:00
Ben Alman 04b92e7831 Reorganized param code slightly to once again define buildParams as a named function expression, as moving it outside the param closure would necessitate moving and rewriting the add function as well. 2009-12-18 04:01:05 +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 9e60fec46b Make sure that an actual timeout is triggered (and not accidentally triggered from a setInterval). Fixes #5609. 2009-12-09 08:09:41 -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 9c1db29a06 Adding in an extra check, per the comments in 25b0ba9f96. 2009-12-05 18:06:27 -05:00
John Resig 25b0ba9f96 Allow the user to explicitly set a content-type header even when there's no data being sent to the server. Fixes #1900. 2009-12-04 21:20:58 -05:00
Karl Swedberg ddb86f8d5b added curly braces around all if/else statements 2009-11-28 04:09:14 +08:00
John Resig a7678267d8 Disable the X-Requested-With header to avoid preflighting remote POST requests. Fixes #4601. 2009-11-25 13:29:34 -05:00
John Resig 0f6e9a8c69 Fixed spacing on the modified Ajax code. 2009-11-25 13:24:24 -05:00
John Resig 357e2ae989 Added a check to make sure that a load request isn't done if the element doesn't exist. Fixes #4235. 2009-11-11 14:55:32 -05:00
John Resig c2101245c0 Pass in the XHR object as the third argument to the success callback (which helps $.get, $.post, and load). Fixes #3363. 2009-11-11 14:29:01 -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
John Resig 513053d62b The complete event wasn't getting called on local file 404s. Thanks to 'mrspeaker' for the patch. Fixes #5468. 2009-11-07 14:59:47 +01:00
visionmedia 50cf4351a6 Consistant splits using " " instead of ","
This was used in several other areas, and IMO is easier to read
and since nothing is multi-word then we misewell use " "
2009-10-27 08:40:59 +08:00
Yehuda Katz 67089eedf6 Getting $.param working well; Patch by ben_alman 2009-09-17 22:37:19 +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 5b9214e7d8 jquery ajax: closes #2452. get() and post() weren't shifting all arguments correctly. 2009-09-15 15:28:28 +00:00
Ariel Flesler 183f37e4b4 jquery ajax: closes #4994. Adding 'context' setting to $.ajax 2009-09-15 15:19:58 +00:00
Brandon Aaron 4a3c4c86c9 fix for #5017 2009-09-14 20:55:40 +00:00
Ariel Flesler 36ebb4f75e jquery ajax: Misc rename 2009-09-14 19:57:49 +00:00
Yehuda Katz 50d78e7658 Adds nested param serialization; Closes #4201 (by merbjedi) 2009-09-02 05:16:21 +00:00
John Resig f52c4a3d5f If the XHR object no longer exists assume that the request was aborted. 2009-08-26 17:39:52 +00:00
John Resig 8c18dcdeb0 Make sure payload is sent for PUT requests. (Thanks alx). Fixes #4971. 2009-07-27 19:02:40 +00:00
John Resig fe80b5af45 Make sure that the script is removed only if it's actually in the page still. Fixes #4934. 2009-07-22 14:38:21 +00:00
John Resig eaca153aea Moved the RegExp in ajax.js out from inline, goes towards ticket #4111. 2009-07-19 19:44:15 +00:00
John Resig 5272ed28bc Made a number of syntax tweaks to ajax.js. 2009-07-19 19:37:11 +00:00
John Resig fa2d663639 Did some cleaning up of ajax.js and fixed a bug from commit [6457]. 2009-07-19 19:03:18 +00:00
John Resig 81985c7878 Fixed a typo with commit [6457]. 2009-07-19 17:02:01 +00:00
John Resig 48e9a39995 Standardize on using .nodeName in place of .tagName. Fixes jQuery bug #4923. 2009-07-19 13:32:53 +00:00
John Resig 0d5c3a68a0 Standardizing on .test() and .exec() - moving away from using .match() for RegExp. Fixes jQuery bug #4113. 2009-07-19 13:21:51 +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 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 e10e625bf4 fix for #4183 2009-05-16 20:23:58 +00:00
Brandon Aaron 611d24086c fix for #4378, base tag causes javascript error in IE when loading cross-domain JS via ajax 2009-03-27 18:20:57 +00:00
Brandon Aaron f8ef75eb91 remove trailing spaces 2009-03-23 01:55:17 +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 a894c60489 Stopped a memory leak on getScript calls. Fixes #3962. 2009-02-07 16:57:59 +00:00
John Resig 00b70c7527 Landed a fix for timeouts not being aborted properly. Fixes jQuery bug #3874. 2009-01-21 21:46:53 +00:00
Ariel Flesler ddec4fdc34 jquery ajax: File size optimization for compressed code. 2009-01-04 21:15:02 +00:00
John Resig 434b87b8a2 Moved from the old JSMin to using YUIMin for compressing the jQuery source. Additionally landed some improvements from #3770 which dramatically reduce the filesize. The final minifed + gzipped size of jQuery went from 19817 bytes to 18063 bytes. 2009-01-04 15:29:27 +00:00
John Resig b850ab2b8e Added the new jQuery.support object and removed all uses of jQuery.browser from within jQuery itself (while simultaneously deprecating the use of jQuery.browser). 2008-12-21 21:22:44 +00:00
John Resig d81dfbcccf The code for handling Ajax timeouts was broken (the abort was being called too early). Fixing this allows the test suite to work again. 2008-11-18 04:53:34 +00:00
John Resig ab551c2b14 Standardized the type checks across core. isFunction and isArray now use Object.prototype.toString to verify the type, .constructor use was removed in favor of typeof, typeof checks now use ===, undefined checks use === undefined. All of this is outlined in the new style guidelines: http://docs.jquery.com/JQuery_Core_Style_Guidelines#Type_Checks. Fixes bug #3618. 2008-11-17 16:32:05 +00:00
John Resig 0aa8d40cdf Landing fixes for tickets #2935 and #2688 (Aborting ajax doesn't stop the setInterval, ajaxStop event isn't getting triggered). 2008-11-14 04:16:00 +00:00
Ariel Flesler 325755d4b3 jquery core: closes #3541. Added isArray. 2008-10-29 02:01:22 +00:00
Ariel Flesler 5dc7bb7233 jquery ajax: closes #3249. Slight modification on serializeArray, shorter and faster code, and allows a custom form object. 2008-08-13 01:44:36 +00:00
Ariel Flesler c9c024280a jquery ajax: misc optimization for $.fn.load(). 2008-08-11 01:35:23 +00:00
Ariel Flesler bf6f7e7a63 jquery ajax: closes #3231. The ajax setting 'dataFilter' can also parse the response. 2008-08-07 20:41:05 +00:00
Ariel Flesler 9d9c4d2a51 jquery ajax: extends #3087. The xhr factory is now an ajax setting called 'xhr' instead of a method (jQuery.getAjaxTransport). 2008-08-07 13:07:21 +00:00
Ariel Flesler b8ceedbe2b jquery ajax: closes #3087, #2167, #2128. The ajax transport creation process is exposed to allow overriding. 2008-08-04 14:18:06 +00:00
Ariel Flesler bf14ac1236 jquery ajax: added a comment explaining the last commit. 2008-06-17 21:31:57 +00:00
Ariel Flesler 35b8157507 jquery ajax: closes #3052. Additional check on httpData() to keep compatibility with older code (form plugin). 2008-06-17 21:03:20 +00:00
Ariel Flesler 335b8816c2 jquery ajax: Fixes #3045. The protocol wasn't being checked to see if a script is required for cross domain requests. 2008-06-17 20:32:15 +00:00
Ariel Flesler c90fe0283b jquery ajax: passing the settings object to httpData instead of just the dataFilter, so that when called it retains the object as "this". 2008-06-05 20:00:50 +00:00
Ariel Flesler 11761def42 jquery ajax: small (misc) improvement to $.param. 2008-05-28 02:50:38 +00:00
Ariel Flesler 7ec772374d jquery ajax: Closes #1516. load() can get a string of data (not only a hash) and it'll be a GET request. 2008-05-27 22:44:06 +00:00
Ariel Flesler 042e51e731 jquery ajax: changing a set of &&/|| for ?/:. 2008-05-25 03:20:13 +00:00
Ariel Flesler afc2ebde14 jquery ajax: Closes #2567, additional setting for $.ajax called 'dataFilter'. It's an optional function that receives the ajax response, and returns the sanitized version. 2008-05-16 16:39:27 +00:00
Ariel Flesler c5f4d70e2b jqueryjquery ajax: closes #1289. Renamed 'xml' and 'r' to 'xhr'. 2008-05-15 21:03:31 +00:00
Ariel Flesler 54867a9803 jquery ajax: caching repetive conversions/checks for settings.type in $.ajax. 2008-05-15 14:16:19 +00:00
Ariel Flesler 31f22f244b jquery ajax: fixed #2865 and #2570. Not passing username to xml.open if it's null, or it open a login popup on some Opera's. 2008-05-15 13:45:09 +00:00
Ariel Flesler d524c7eecc jquery ajax: closes #2842. 2008-05-14 19:50:24 +00:00
Ariel Flesler 06eb4d3223 jquery ajax: renaming jQuery.ajax.re to remote. 2008-05-13 19:58:00 +00:00
Ariel Flesler 5c0aea3bfe jquery ajax: absolute urls were assumed to be cross domain. Closes #2816. 2008-05-13 19:47:39 +00:00
Ariel Flesler 3f5ff3097c jquery: removing unnecessary trailing and leading spaces & tabs. 2008-05-13 01:45:58 +00:00
Ariel Flesler a56317ea3a jquery event: fixed $.fn.load, closes #2819. 2008-05-08 16:23:43 +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 17b1e407d1 mainly made the code shorter:
- removed some needless if's
- replace multiple "var x" for one, comma separated declaration.
- added a local fn called now() for the (new Date)s
- fixed the indentation of a block, and a typo in a comment.
- used fn instead of prototype where possible
- jquery fx: exposed the speeds hash as jQuery.fx.speeds.

Also fixed (again) line endings
2008-04-29 23:34:50 +00:00
Jörn Zaefferer d3d8f3561b jquery.ajax: fix for beforeSend-cancelling-sideeffects 2008-04-22 22:18:11 +00:00
Jörn Zaefferer e454e8305d jquery.ajax: improvement for #2688, added test 2008-04-22 22:07:17 +00:00
Yehuda Katz a9fe9a2a5f Closes #2688 2008-04-14 18:16:01 +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 ff08982508 And the rest of the _default change. 2008-01-14 19:37:31 +00:00
John Resig 260fc23e92 Tweaked the default Accept header to _default. 2008-01-14 19:37:05 +00:00
John Resig 047debc750 Fixed default property name for Opera (bug #2159). 2008-01-14 19:15:27 +00:00
John Resig 5974495e6b Just added support for Accept headers in Ajax requests - defaults to the correct header depending on the type of request that's being performmed. (Bug #1986) 2008-01-14 18:19:28 +00:00
Yehuda Katz b91eef070d Adds support for username and password to $.ajax 2008-01-07 01:03:31 +00:00
David Serduke 9af7387579 Added code to remove the script tag on successful jsonp calls. 2007-12-17 00:51:59 +00:00
John Resig 6a25c20f5c The extra & was getting gobbled, oops. 2007-12-17 00:48:12 +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 feb9051c0e Fixed #1781 for warnings created on load by FF javascript.options.strict == true. 2007-12-16 01:03:50 +00:00
David Serduke 4e339ef557 Added feature #1934 by allowing script.charset to be set through an optional 'scriptCharset' ajax option. 2007-12-15 23:30:34 +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
John Resig 56a93fc2cc Added an extra try block to handle FF 3 x-domain requests. (Bug #1557) 2007-12-14 02:04:00 +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 8b74ba07aa For fix #1999 changed the RegExp to be non-greedy. Thanks emartin24. 2007-12-04 07:36:03 +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 aca1cc3677 Removed comments and code related to Safari being unable to do a sync global eval. With the new globalEval() code that should no longer be a problem. 2007-11-30 02:42:48 +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
David Serduke 7ac564cd98 Fixed #1450 by returning 1223 as success. Couldn't normalize the status since jquery uses the actual xmlhttprequest object. 2007-11-29 17:12:08 +00:00
David Serduke 6853370fbb Fix #1905 bug where in IE the use of RegExp.test() was failing and needed to be replaced with String.match(). 2007-11-16 23:54:45 +00:00
John Resig 80a26a3266 Fix for bug #1638, where a non-string data could break an Ajax request. 2007-10-18 00:07:45 +00:00
John Resig 9ac9aaeec3 Another fix for bug #1584, ajaxStop would not be called for a cross-domain request if a handler was not provided. 2007-10-17 23:13:31 +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 d9a3b133f1 Bug #1584, ajaxStop/complete calls weren't called for JSONP requests. 2007-09-15 00:35:16 +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 b4bf244c0e Fixed some line ending issues. 2007-09-09 18:29:15 +00:00
John Resig 4e504d86b9 Errors were occuring with getScript, if you called it too early. 2007-09-09 18:09:27 +00:00
John Resig b4e23b5af0 Reorganzing the jQuery source (first phase). 2007-09-08 12:42:32 +00:00
Renamed from src/ajax/ajax.js (Browse further)