YUI3のソースコードを見たところです。https://raw.github.com/yui/yui3/master/src/io/js/io-upload-iframe.jsのリクエストオブジェクトを担当する数行は次のとおりです。
_uploadComplete: function(o, c) {
var io = this,
d = Y.one('#io_iframe' + o.id).get('contentWindow.document'),
b = d.one('body'),
p;
if (c.timeout) {
io._clearUploadTimeout(o.id);
}
try {
if (b) {
// When a response Content-Type of "text/plain" is used, Firefox and Safari
// will wrap the response string with <pre></pre>.
p = b.one('pre:first-child');
o.c.responseText = p ? p.get('text') : b.get('text');
Y.log('The responseText value for transaction ' + o.id + ' is: ' + o.c.responseText + '.', 'info', 'io');
}
else {
o.c.responseXML = d._node;
Y.log('The response for transaction ' + o.id + ' is an XML document.', 'info', 'io');
}
}
catch (e) {
o.e = "upload failure";
}
io.complete(o, c);
io.end(o, c);
// The transaction is complete, so call _dFrame to remove
// the event listener bound to the iframe transport, and then
// destroy the iframe.
w.setTimeout( function() { _dFrame(o.id); }, 0);
},
したがって、応答に「body」ノードが含まれるとすぐに、bodyコンテンツが「text」として返されます。
o.c.responseText = p ? p.get('text') : b.get('text');
私見では、bodyノードがある場合、innerHTMLを取得する機会はありません。ボディノードのinnerHTMLで「responseHTML」と呼ばれる追加のプロパティを追加するカスタマイズされたIOUploadIframeモジュールを作成することにしました。
あなたはPastebinからソースを得ることができます:http://pastebin.com/WadQgNP2