aboutsummaryrefslogtreecommitdiffstats
path: root/src/ajax
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2006-11-17 09:56:30 +0000
committerJörn Zaefferer <joern.zaefferer@gmail.com>2006-11-17 09:56:30 +0000
commit1e620109d7bd3f77f770f5dbe22f3ef616fa0bb0 (patch)
treeafef4777a63c9679b25f04dc3f28d4c0bf74af9e /src/ajax
parent06c185321c4d6feea0894146db0547caf9b4768a (diff)
downloadjquery-1e620109d7bd3f77f770f5dbe22f3ef616fa0bb0.tar.gz
jquery-1e620109d7bd3f77f770f5dbe22f3ef616fa0bb0.zip
Fixed an issue with getJSON (type was not correctly passed on when data was ommited); Added more options to $.ajax to provide more flexibility (bug #371)
Diffstat (limited to 'src/ajax')
-rw-r--r--src/ajax/ajax.js29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js
index f9058df02..198685c00 100644
--- a/src/ajax/ajax.js
+++ b/src/ajax/ajax.js
@@ -342,7 +342,6 @@ jQuery.extend({
get: function( url, data, callback, type, ifModified ) {
// shift arguments if data argument was ommited
if ( data && data.constructor == Function ) {
- type = callback;
callback = data;
data = null;
}
@@ -466,11 +465,7 @@ jQuery.extend({
* @cat AJAX
*/
getJSON: function( url, data, callback ) {
- if(callback)
- jQuery.get(url, data, callback, "json");
- else {
- jQuery.get(url, data, "json");
- }
+ jQuery.get(url, data, callback, "json");
},
/**
@@ -597,8 +592,6 @@ jQuery.extend({
*
* (String) url - The URL of the page to request.
*
- * (String) data - Data to be sent to the server. If converted to a query
- * string, if not already a string. Is appended to the url for GET-requests.
*
* (String) dataType - The type of data that you're expecting back from
* the server (e.g. "xml", "html", "script", or "json").
@@ -627,6 +620,18 @@ jQuery.extend({
* function gets passed two arguments: The XMLHttpRequest object and a
* string describing the type the success of the request.
*
+ * (String) data - Data to be sent to the server. Converted to a query
+ * string, if not already a string. Is appended to the url for GET-requests.
+ * Override processData option to prevent processing.
+ *
+ * (String) contentType - When sending data to the server, use this content-type,
+ * default is "application/x-www-form-urlencoded", which is fine for most cases.
+ *
+ * (Boolean) processData - By default, data passed in as an object other as string
+ * will be processed and transformed into a query string, fitting to the default
+ * content-type "application/x-www-form-urlencoded". If you want to send DOMDocuments,
+ * set this option to false.
+ *
* @example $.ajax({
* type: "GET",
* url: "test.js",
@@ -708,14 +713,16 @@ jQuery.extend({
success: null,
error: null,
dataType: null,
+ url: null,
data: null,
- url: null
+ contentType: "application/x-www-form-urlencoded",
+ processData: true
}, s);
// if data available
if ( s.data ) {
// convert data if not already a string
- if (typeof s.data != 'string')
+ if (s.processData && typeof s.data != 'string')
s.data = jQuery.param(s.data);
// append data to url for get requests
if( s.type.toLowerCase() == "get" )
@@ -737,7 +744,7 @@ jQuery.extend({
// Set the correct header, if data is being sent
if ( s.data )
- xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+ xml.setRequestHeader("Content-Type", s.contentType);
// Set the If-Modified-Since header, if ifModified mode.
if ( s.ifModified )