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