JSP/Javascript文件上传-dos't在托管服务器上调用父javascript函数,但在本地服务器中工

JSP/Javascript file upload - doesn't invoke a parent javascript function on hosting server but works in local server

本文关键字:服务器 javascript 调用 函数 文件 Javascript -dos JSP      更新时间:2023-09-26

我正在尝试将文件上传到服务器。我在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");