Commit graph

261 commits

Author SHA1 Message Date
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 e3cc440934 Fixes #8138. Access to document.location is made only once at load time and if it fails (throwing an exception in IE when document.domain is already set), we use the href of an A element instead. 2011-02-02 20:52:26 +01:00
Anton Kovalyov fdd4101fe9 Fixes #7945. Make jQuery.param() serialize plain objects with a property named jquery correctly. 2011-02-02 00:32:29 +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
Dan Heberden 31949fa528 Bug 8107; Fix argument handling for $.ajax for multiple method signatues and add test case 2011-01-31 19:37:28 -08:00
jaubourg f43572d3b8 Fixes #8095. Properly handles the case where browser cache needs to be bypassed while server-side logic still delivers proper 304 responses. Unit test added. 2011-01-31 19:59:53 +01:00
jaubourg 7c9a5e6016 Makes sure all converters keys are lowercased before any conversion is taking place: dataTypes' names are now truly case insensitive. Unit test edited. 2011-01-31 17:40:27 +01:00
jaubourg 485fa0c42a Makes sure options.context is used as the context for global ajax events only if it's a DOM node. 2011-01-31 17:40:26 +01:00
Anton M 389c099df6 Fixes #7568. Follow-up fix for #5862. Objects with a length property weren't serialized properly by jQuery.param. 2011-01-31 15:58:27 +01:00
jaubourg 91ca71daaa Ensures dataTypeExpressions are lowercased for prefilters and transports registrations. 2011-01-31 10:13:54 +01:00
jaubourg bbd3f4f3fe Compatibility fixes in ajax: exceptions are no longer promoted to strings before being given to callbacks. Updated misleading comment in conversion code. 2011-01-28 17:08:46 +01:00
jaubourg 7d75ea950e Actually does what bab8079593 promised: passes the jXHR as the third argument of prefilters and transport factories. Comitted for completness even if if backs this out in the end and only land in 1.5.1. 2011-01-27 00:58:31 +01:00
jaubourg bab8079593 Passes jXHR object as third argument of prefilters and transport factories. 2011-01-26 17:37:08 +01:00
jaubourg d7d64713a7 Fixes #5866. Issue number in previous commit was wrong both in comments and commit message. See 0e5b341cc0 for previous commit. 2011-01-26 01:45:00 +01:00
jaubourg 0e5b341cc0 Fixes #5856. Adds document protocol at the beginning of URLs without protocol (thanks go to skrings for the initial pull request). Simplifies cross-domain detection regexp and logic as a consequence. Also took the opportunity to remove an unused variable. Unit test added. 2011-01-26 01:36:05 +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 33de9c5597 Makes prefilters and transport inspection more robust and uses better variable names for readability. 2011-01-24 04:22:46 +01:00
jaubourg 02ca45573b Revised internal implementation of ajaxPrefilter() and ajaxTransport(). Everything is shorter and more efficient now. Also fixes a couple spacing issues that remained. 2011-01-23 22:03:24 +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 bea4815294 Re-organizes ajax.js: prefilters and transports are no longer stored in ajaxSettings (their structure is not handled correctly by extend() and was causing some overhead when constructing the final options map in ajax()); base function for ajaxPrefilter and ajaxTransport has been renamed and split in two (one for inspection, one for addition); response/dataType determination and data conversion logics have been externalized from the ajax() internal callback; data conversion no longer sets responseXXX fields; some minor re-formatting and simplifications. 2011-01-22 04:45:20 +01:00
jaubourg dc2e7317a9 Replaces "text in-between" technique with a full-fledged one-level transitive search for converters (unit tests added). Also cleans up auto dataType determination and adds converter checks in order to guess the best dataType possible. 2011-01-21 03:58:28 +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 a7cb93bee5 Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively. 2011-01-20 17:51:57 +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 3e1d3d0f21 Revises the way arguments are handled in ajax. 2011-01-20 16:22:36 +01:00
jaubourg 9ab00a712f Makes sure statusCode callbacks are ordered in the same way success and error callbacks are. Unit tests added. 2011-01-20 15:39:30 +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 44f3a1b405 Moves things around to make jsLint happier. 2011-01-19 18:36:42 +01:00
jaubourg 7d89d3c072 Fixes crossDomain test so that it assumes port to be 80 for http and 443 for https when it is not provided. 2011-01-19 18:35:40 +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 3ea366401f Re-adds hastily removed variable and simplifies statusCode based callbacks handling. 2011-01-19 17:51:33 +01:00
jaubourg 7947cd77e4 Use undefined instead of 0 to deference transport for clarity. 2011-01-19 17:24:56 +01:00
jaubourg d343bfe528 Removes unnecessary test and ensures getResponseHeader returns null if the header does not exist. 2011-01-19 17:21:51 +01:00
jaubourg bd6eb849ee Revised how context is determined and removed unnecessary "parameter as variable" trick. 2011-01-19 17:06:33 +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 914aa3d66b Makes it so a prefilter can change the type of a request. 2011-01-16 05:24:14 +01:00
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