JSP/Javascript 文件上传 - 不调用托管服务器上的父 JavaScript 函数,但在本地服务器中工作



我正在尝试将文件上传到服务器。我在jsp中嵌入了一个iframe。这个iframe保存对servlet的操作,servlet将文件保存在服务器上。在处理文件时,它通过response.getWriter()返回一个HTML输出(如下所示)。

private String getRespHTML(boolean isUploadSuccess, String theReturnMsg){
        StringBuilder theHTMLBuf = new StringBuilder();
        theHTMLBuf.append("<html><head>");
        theHTMLBuf.append("<SCRIPT LANGUAGE="JavaScript">");
        if(isUploadSuccess){
            theHTMLBuf.append("parent.uploadStatus(true, '"+ theReturnMsg + "');");
        }
        else{
            theHTMLBuf.append("parent.uploadStatus(false, 'Upload failed: " + theReturnMsg + "');");
        }
        theHTMLBuf.append("</SCRIPT>");
        theHTMLBuf.append("</head><body></body></html>");
        return theHTMLBuf.toString();
 }

现在,这个parent.uploadStatus(驻留在JSP中包含的脚本文件中的JS函数)在我的本地服务器中可以完美地工作。但当我主持这个时,上传会很好,但这个脚本不会被调用。这里所有的页面都来自同一个域,而且它甚至不适用于window.parent.uploadStatus

感谢你的帮助!

好吧,我的错。我为servlet响应添加了下面一行,它就工作了。

response.setContentType("text/html");

相关内容

最新更新