簡體   English   中英

無法通過ajax從servelet獲取html響應

[英]Not getting html response from servelet through ajax

我已經制作了ckeditor插件,將doc文件轉換為html,該文件通過ajax通過servlet上載並轉換為html。 但是我沒有從servlet獲得所需的html響應。 我得到的結果是相同的jsp頁面。

這是Servlet代碼。

        protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException { 
    // HttpSession
            response.setContentType("text/html");                                                                           // session;
            if (!ServletFileUpload.isMultipartContent(request)) {
                response.sendError(HttpServletResponse.SC_FORBIDDEN,
                        "only multipart requests are allowed");
                return;
            }
            WebappContext webappContext = WebappContext.get(getServletContext());
            ServletFileUpload fileUpload = webappContext.getFileUpload();

            OfficeDocumentConverter converter = webappContext
                    .getDocumentConverter();
            String outputExtension = FilenameUtils.getExtension(request
                    .getRequestURI());
            FileItem uploadedFile;
            try {
                uploadedFile = getUploadedFile(fileUpload, request);
                // FileHandler.checkForValidExtn(uploadedFile);
            } catch (FileUploadException fileUploadException) {
                throw new ServletException(fileUploadException);
            }
            if (uploadedFile == null) {
                throw new NullPointerException("uploaded file is null");
            }
            String inputExtension = FilenameUtils.getExtension(uploadedFile
                    .getName());
            String baseName = FilenameUtils.getBaseName(uploadedFile.getName());
            // File fileFolder=new File(getServletContext().getRealPath("/")
            // +"images");
            // fileFolder.mkdir();
            // File inputFile=new File(fileFolder+"\\"+ baseName + "." +
            // inputExtension);
            File inputFile = new File(getServletContext().getRealPath("/")
                    + baseName + "." + inputExtension);

            writeUploadedFile(uploadedFile, inputFile);
            File outputFile = new File(getServletContext().getRealPath("/")
                    + baseName + "." + "html");
            // File outputFile=new File(fileFolder+"\\"+ baseName + "." + "html");
            // outputFile.mkdirs();
            System.out.println("input file path:" + inputFile.getAbsolutePath());
            System.out.println("outPut file path:" + outputFile.getAbsolutePath());
            try {
                // DocumentFormat outputFormat = converter.getFormatRegistry()
                // .getFormatByExtension(outputExtension);
                long startTime = System.currentTimeMillis();
                converter.convert(inputFile, outputFile);
                long conversionTime = System.currentTimeMillis() - startTime;
                logger.info(String.format(
                        "successful conversion: %s [%db] to %s in %dms",
                        inputExtension, inputFile.length(), outputExtension,
                        conversionTime));
            } catch (Exception exception) {
                logger.severe(String.format(
                        "failed conversion: %s [%db] to %s; %s; input file: %s",
                        inputExtension, inputFile.length(), outputExtension,
                        exception, inputFile.getName()));
                throw new ServletException("conversion failed", exception);
            } finally {
                 inputFile.delete();
            }
            PrintWriter out = response.getWriter();
            out.println("<b>File Sent to server</b>");
            out.close();
}

這是將sendi文件發送到服務器的JavaScript代碼。

CKEDITOR.dialog.add( 'uploadDoc', function( editor ) 
{    var dialougeDefination = 
        {   title:          editor.lang.uploadDoc.labelName,
            resizable:      CKEDITOR.DIALOG_RESIZE_BOTH,
            minWidth:       250,
            minHeight:      50,
            onOk:       function()
                {   if(document.getElementById("flFileBrowser").value == "")
                        {   alert("No file selected");
                            //return;
                        }
                        else
                        {
                            $.ajax({

                                beforeSend: function(){
                                    {    $("#frmFileUpload").ajaxSubmit();
                                    $.blockUI();
                                    }
                                },

                                success: function(result)
                                {   alert(result);

                                    $.unblockUI();
                                }

                            });

響應實際上在responseText字段中,因此您的代碼應為

alert(result.responseText);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM