xhr: function() {
return new window.XMLHttpRequest();
},
- xhrResponseFields: {
- xml: "XML",
- text: "Text",
- json: "JSON"
- },
-
+
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
json: "application/json, text/javascript",
"*": "*/*"
},
-
+
autoDataType: {
xml: /xml/,
html: /html/,
json: /json/
},
-
+
// Prefilters
// 1) They are useful to introduce custom dataTypes (see transport/jsonp for an example)
// 2) These are called:
// * BEFORE asking for a transport
// * AFTER param serialization (s.data is a string if s.processData is true)
- // 3) They MUST be order agnostic
- prefilters: [],
-
+ // 3) key is the dataType
+ // 4) the catchall symbol "*" can be used
+ // 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ prefilters: {},
+
// Transports bindings
// 1) key is the dataType
// 2) the catchall symbol "*" can be used
// 3) selection will start with transport dataType and THEN go to "*" if needed
- transports: {
- },
-
- // Checkers
- // 1) key is dataType
- // 2) they are called to control successful response
- // 3) error throws is used as error data
- dataCheckers: {
-
- // Check if data is a string
- "text": function(data) {
- if ( typeof data != "string" ) {
- jQuery.error("typeerror");
- }
- },
-
- // Check if xml has been properly parsed
- "xml": function(data) {
- var documentElement = data ? data.documentElement : data;
- if ( ! documentElement || ! documentElement.nodeName ) {
- jQuery.error("typeerror");
- }
- if ( documentElement.nodeName == "parsererror" ) {
- jQuery.error("parsererror");
- }
- }
- },
-
+ transports: {},
+
// List of data converters
- // 1) key format is "source_type => destination_type" (spaces required)
+ // 1) key format is "source_type destination_type" (a single space in-between)
// 2) the catchall symbol "*" can be used for source_type
dataConverters: {
-
+
// Convert anything to text
- "* => text": function(data) {
- return "" + data;
- },
-
- // Text to html (no transformation)
- "text => html": function(data) {
- return data;
- },
-
+ "* text": window.String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
// Evaluate text as a json expression
- "text => json": jQuery.parseJSON,
-
+ "text json": jQuery.parseJSON,
+
// Parse text as xml
- "text => xml": function(data) {
- var xml, parser;
- if ( window.DOMParser ) { // Standard
- parser = new DOMParser();
- xml = parser.parseFromString(data,"text/xml");
- } else { // IE
- xml = new ActiveXObject("Microsoft.XMLDOM");
- xml.async="false";
- xml.loadXML(data);
- }
- return xml;
- }
+ "text xml": jQuery.parseXML
}
},