if( X_XHR_createMSXML ){\r
( function(){\r
var x = '.XMLHTTP',\r
- m = 'MSXML2' + x,\r
- n = [ m + ".6.0", m + ".3.0", m + ".5.0", m + ".4.0", m, "Microsoft" + x ],\r
+ m = 'Msxml2' + x,\r
+ n = [ m + '.6.0', m + '.3.0', m + '.5.0', m + '.4.0', m, 'Microsoft' + x ],\r
v = [ 6, 3, 5, 4, 2, 1 ],\r
i = -1,\r
a;\r
* http://hakuhin.jp/as/javascript.html\r
* Flash から JavaScript にアクセスする(3+)\r
*/\r
- 'FLASH' : 4 <= X_Pulgin_FLASH_VERSION ? 8 : 0,\r
+ 'FLASH' : 4 <= X_Plugin_FLASH_VERSION ? 8 : 0,\r
\r
'GADGET' : 5.5 <= X_UA[ 'IE' ] || !X_UA[ 'IE' ] ? 16 : 0,\r
\r
\r
// http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_r_1.html\r
if( !X_XHR._isMsXML && raw.overrideMimeType ){\r
- type = X_URL_getEXT( url ) || dataType;\r
- switch( type ){\r
+ switch( type = dataType ){\r
case 'html' :\r
case 'htm' :\r
case 'xml' :\r
2: リクエストを受信した\r
3: リクエストの処理中\r
4: リクエストは終了してレスポンスの準備が完了\r
- status 200: "OK"\r
+ status 200: 'OK'\r
404: Page not found\r
\r
If-Modified-Sinceヘッダを利用してWebページのキャッシュを行うXMLHttpRequestラッパー\r
switch( X_XHR._dataType ){\r
case '' :\r
case 'text' :\r
- data = raw[ 'responseText' ];\r
+ data = X_Script_try( X_Object_find, [ raw, 'responseText' ] );\r
break;\r
case 'json' :\r
case 'moz-json' :\r
- data = raw[ 'response' ] || raw[ 'responseText' ];\r
+ data = X_Script_try( X_Object_find, [ raw, 'response' ] ) || X_Script_try( X_Object_find, [ raw, 'responseText' ] );\r
// eval() を使っているけど JSON の無いブラウザは XDomain な XHR はできないのでよしとする。\r
// XDomain な XHR の際は Flash 等で代替し、その中に Json parser も組み込む。\r
// http://d.hatena.ne.jp/sshi/20060904/p1\r
- if( !X_Type_isObject( data ) ) data = X_JSON_parseTrustableString( data );\r
+ if( X_Type_isString( data ) ) data = X_JSON_parseTrustableString( data );\r
break;\r
case 'document' :\r
case 'xml' :\r
data = raw[ 'response' ] || raw[ 'responseText' ]; // とりあえず\r
break;\r
};\r
+ };\r
+ \r
+ if( data ){\r
X_XHR[ 'asyncDispatch' ]( 32, { type : X_EVENT_SUCCESS, status : status || 200, response : data, 'headers' : headers || null } );\r
} else {\r
X_XHR[ 'asyncDispatch' ]( 32, { type : X_EVENT_ERROR, status : status || 400, 'headers' : headers || null } );\r
// return: XML DOM in response body\r
\r
JKL.ParseXML.HTTP.prototype.documentElement = function() {\r
- // debug.print( "documentElement: "+this.req );\r
+ // debug.print( 'documentElement: '+this.req );\r
if ( ! this.req ) return;\r
if ( this.req.responseXML ) {\r
return this.req.responseXML.documentElement; // XMLHTTPRequest\r