Skip to content
Permalink
Browse files

Revised conversion logic to handle converter equal to true properly.

  • Loading branch information...
jaubourg committed Dec 29, 2010
1 parent 6dbffb8 commit 3c6f1380fa67542ff8c67d6363a865ae3ec23516
Showing with 19 additions and 14 deletions.
  1. +19 −14 src/ajax.js
@@ -393,9 +393,9 @@ jQuery.extend({
current,
prev,
checker,
conv,
conv1,
conv2,
oneConv,
convertion,
dataTypes = s.dataTypes,
converters = s.converters,
@@ -419,23 +419,28 @@ jQuery.extend({

if ( prev !== "*" && current !== "*" && prev !== current ) {

oneConv = conv1 =
converters[ ( conversion = prev + " " + current ) ] ||
conv = converters[ ( conversion = prev + " " + current ) ] ||
converters[ "* " + current ];

if ( oneConv !== true ) {

if ( ! oneConv && prev !== "text" && current !== "text" ) {
conv1 = converters[ prev + " text" ] || converters[ "* text" ];
conv2 = converters[ "text " + current ];
}

if ( oneConv || conv1 && conv2 ) {
response = oneConv ? conv1( response ) : conv2( conv1( response ) );
} else {
throw "no " + conversion;
conv1 = conv2 = 0;

if ( ! conv && prev !== "text" && current !== "text" ) {
conv1 = converters[ prev + " text" ] || converters[ "* text" ];
conv2 = converters[ "text " + current ];
if ( conv1 === true ) {
conv = conv2;
} else if ( conv2 === true ) {
conv = conv1;
}
}

if ( ! ( conv || conv1 && conv2 ) ) {
throw conversion;
}

if ( conv !== true ) {
response = conv ? conv( response ) : conv2( conv1( response ) );
}
}
} else if ( s.dataFilter ) {

0 comments on commit 3c6f138

Please sign in to comment.
You can’t perform that action at this time.