X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fajax%2Fajax.js;h=d72ddc6b7351b4323c5864b5711f7b2069074775;hb=78db847ef201a66f88e9ad330b2e51c65c58abb3;hp=102c7f900b90263a0339624c575f435587dc2025;hpb=33ee5c317d0f1aa64d8d8e567425dd8fe2789cd0;p=jquery.git diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 102c7f9..d72ddc6 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -655,10 +655,12 @@ jQuery.extend({ var status; try { - status = jQuery.httpSuccess( xml ) && isTimeout != "timeout" ? - s.ifModified && jQuery.httpNotModified( xml, s.url ) ? "notmodified" : "success" : "error"; + status = isTimeout == "timeout" && "timeout" || + !jQuery.httpSuccess( xml ) && "error" || + s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" || + "success"; // Make sure that the request was successful or notmodified - if ( status != "error" ) { + if ( status != "error" && status != "timeout" ) { // Cache Last-Modified header, if ifModified mode. var modRes; try { @@ -785,7 +787,7 @@ jQuery.extend({ // Get the JavaScript object, if JSON is used. if ( type == "json" ) - eval( "data = " + data ); + data = eval("(" + data + ")"); // evaluate scripts within html if ( type == "html" ) @@ -826,13 +828,16 @@ jQuery.extend({ // evalulates a script in global context // not reliable for safari globalEval: function( data ) { - if ( window.execScript ) - window.execScript( data ); - else if ( jQuery.browser.safari ) - // safari doesn't provide a synchronous global eval - window.setTimeout( data, 0 ); - else - eval.call( window, data ); + data = jQuery.trim( data ); + if ( data ) { + if ( window.execScript ) + window.execScript( data ); + else if ( jQuery.browser.safari ) + // safari doesn't provide a synchronous global eval + window.setTimeout( data, 0 ); + else + eval.call( window, data ); + } } });