},
// 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": window.String,
// Text to html (no transformation)
- "text => html": function(data) {
- return data;
- },
+ "text html": window.String,
// 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
}
},
}, s.complete ];
// Use data converter to retrieve json after script execution
- s.dataConverters["script => json"] = function() {
+ s.dataConverters["script json"] = function() {
if ( ! responseContainer ) {
- jQuery.error("Callback '" + jsonpCallback + "' was not called");
+ jQuery.error( jsonpCallback + " was not called" );
}
return responseContainer[ 0 ];
};
// Delegate to script transport
return "script";
-
}
-
});
})( jQuery );
},
dataConverters: {
- "text => script": jQuery.globalEval
+ "text script": jQuery.globalEval
}
} );
} else if ( current !== "*" && prev !== current ) {
oneConv = conv1 =
- dataConverters[ ( conversion = prev + " => " + current ) ] ||
- dataConverters[ "* => " + current ];
+ dataConverters[ ( conversion = prev + " " + current ) ] ||
+ dataConverters[ "* " + current ];
+
+ console.log( conversion );
if ( ! oneConv && prev !== "text" && current !== "text" ) {
- conv1 = dataConverters[ prev + " => text" ] || dataConverters[ "* => text" ];
- conv2 = dataConverters[ "text => " + current ];
+ conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
+ conv2 = dataConverters[ "text " + current ];
}
if ( oneConv || conv1 && conv2 ) {
response = oneConv ? conv1( response ) : conv2( conv1( response ) );
equals( jQuery("jsconf", resp).length, 1, 'jsconf in responseXML' );
equals( jQuery("thing", resp).length, 2, 'things in responseXML' );
start();
+ },
+ error: function(_1,_2,error) {
+ ok( false, error );
+ start();
}
});
});
},
success: function( text ) {
equals( typeof text , "string" , "json wasn't auto-determined" );
- var json = this.dataConverters["text => json"]( text );
+ var json = this.dataConverters["text json"]( text );
ok( json.length >= 2, "Check length");
equals( json[0].name, 'John', 'Check JSON: first, name' );
equals( json[0].age, 21, 'Check JSON: first, age' );