This error typically indicates the lack of a tag in the response data. The variable ifd is where dojo.io.iframe stores the reference to the iframe document, used later when the iframe loads to fire the load callback. There is no "nice" warning message thrown, just a failure message thrown when trying to locate a textarea in the document.
To upload a form with an input type="file":
dojo.io.iframe.send({ form:"someForm", url:"endpoint.php",
load:function(data){
console.log(data)
}
});
and a response would look like:
To use handleAs:"json", wrap the object in the textarea:
<textarea>{ item:"one", another:"item" }
</textarea>