Let's consider IE. Say you have a hidden iFrame which you use to request a file download. For example
<iframe src="getFile?id=123">
Now, the server may send a JSON-encoded error message like
{
error: 'File 123 does not exist',
retryLater: false
}
If that error message is sent as application/json
, a download dialog will appear, because the JSON text is mistaken for the actual file.
On the other hand, a MIME type of text/plain
will cause the message to be rendered in the iFrame, and you can extract it, and transform it into a fancy pop-up or something using JScript.
(Edit)
Real-world example: EXTJS Fileupload - Problem with IE8 security bar
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…