X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=ajax%2Fajax.js;h=8e0f81f5750d00232acab5465d97056a40c2be5a;hb=d143f76973d5368389e760c73ae0c61113cb1c6a;hp=21a993498c5e2c43220a0bc613e8eaa3e728d1f6;hpb=6596108635d88116be67f6d22183588822e41c44;p=jquery.git diff --git a/ajax/ajax.js b/ajax/ajax.js index 21a9934..8e0f81f 100644 --- a/ajax/ajax.js +++ b/ajax/ajax.js @@ -13,6 +13,15 @@ if ( typeof XMLHttpRequest == 'undefined' && typeof window.ActiveXObject == 'fun $.xmlActive=0; $.xml = function( type, url, data, ret ) { + if ( !url ) { + ret = type.onComplete; + var onSuccess = type.onSuccess; + var onError = type.onError; + data = type.data; + url = type.url; + type = type.type; + } + var xml = new XMLHttpRequest(); if ( xml ) { @@ -24,7 +33,8 @@ $.xml = function( type, url, data, ret ) { // Set header so calling script knows that it's an XMLHttpRequest xml.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); - /* Force "Connection: close" for Mozilla browsers to work around + /* Borrowed from Prototype: + * Force "Connection: close" for Mozilla browsers to work around * a bug where XMLHttpReqeuest sends an incorrect Content-length * header. See Mozilla Bugzilla #246651. */ @@ -53,6 +63,13 @@ $.xml = function( type, url, data, ret ) { $.xmlActive = 0 } + if ( xml.status && xml.status >= 200 && xml.status < 300 ) { + if ( onSuccess ) + onSuccess( xml ); + } else if ( onError ) { + onError( xml ); + } + // Process result if ( ret ) ret(xml);