处理来自 servlet 的 AJAX 响应

问题描述

这是我在其中设置响应的 servlet 类代码

        PrintWriter out = response.getWriter();
        response.setContentType("text/html");

        if(status.equals("Fail")) {
            out.println(status);  
        }else {
            out.println(status);  
        }

        out.flush();

这是我的 AJAX,我需要根据来自 Servlet 的 SUCCESS/FAIL 响应显示一条消息。

           $.ajax({
                    url: "ImportFile",type: "POST",data: new FormData(document.getElementById("fileForm")),enctype: 'multipart/form-data',processData: false,contentType: false,success :function(data) {
                           console.log('RESPONSE: ',data);
                           if(data == "Success"){
                               $(".impostSuccess").modal('show');
                           }else{
                               $(".impostFail").modal('show');
                           }
                           file.val('');
                       },error :function(err){
                           file.val('');
                           console.log('RESPONSE: ',data);
                       }   
            });

只要我的回答是“成功”,Else 部分就会执行并显示该模式。

我该如何处理?

解决方法

你可以像这样显示消息

       $.ajax({
                url: "ImportFile",type: "POST",data: new FormData(document.getElementById("fileForm")),enctype: 'multipart/form-data',processData: false,contentType: false,success :function(res) {
                       console.log('RESPONSE: ',res);
                       $(".impostSuccess").modal('show');
                       file.val('');
                   },error :function(err){
                       file.val('');
                       console.log('RESPONSE: ',err);
                       $(".impostFail").modal('show');

                   }   
        });