java - 如何从 AJAX 数据中获取响应消息

标签 java ajax jquery servlets

这里我写响应到ajax响应对象

protected void writeAjaxResponse(HttpServletRequest req 
                                 ,HttpServletResponse resp,String result){
        PrintWriter writer = null;
        try {
            writer = resp.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        writer.println(result);
        return;

    } 

后来我调用

writeAjaxResponse(req, resp, "<p style=color:red>Error occured recording
                                                           your feedback!</p>");

在 jquery 中

$.ajax({
                  type: 'POST',
                  url: 'savefeedback',
                  data: 'feedbacker='+feedbacker+'feedbackeremail=
                   '+feedbackeremail+'feedbacker='+feedbackermsg,
                  success:function(data){
                   alert(data); //here is the pin point


                    }
                });

但在警觉中我得到了

    [object XMLDocument]

编辑:

这是我的 servlet doPost() 方法

@Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException { 

         String feedbacker = req.getParameter("feedbacker");
         String  feedbackeremail = req.getParameter("feedbackeremail");
         String  feedbackermsg = req.getParameter("feedbackermsg");

        boolean saveFeedback = MailSenderServlet.
            saveFeedback(req, resp, feedbackeremail, "",
                  feedbackermsg, feedbacker, feedbackeremail);
        if(saveFeedback){
            writeAjaxResponse(req, resp, "Feedback received succesfully!");
        }else{
            writeAjaxResponse(req, resp, "Error occured  !");
        }

    } 

但我在等待我的回复消息。

如果我遗漏了什么,请告诉我。

请帮忙!!!!

最佳答案

经过 30 分钟的研究

我发现 MIME 类型 丢失,并将我的方法更改为

protected void writeAjaxResponse(HttpServletRequest req 
                                 ,HttpServletResponse resp,String result){
       resp.setContentType("text/html;charset=UTF-8");
        PrintWriter writer = null;
        try {
            writer = resp.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        writer.println(result);
        return;

    }

感谢@Noob @w4rumy @user2207792 的及时支持。

关于java - 如何从 AJAX 数据中获取响应消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416330/

相关文章:

java - 从 Junit 中的 Jax-Rs Response 类获取 header 值、状态代码等

jquery - 去hashbang还是不去hashbang?

javascript - 标签<form>在ajax请求后删除部分代码?

java - 如何读取GET请求查询参数中的JSON

java - ArrayList - 删除第一个添加的对象并且不重复

java - Viewpager2 和 fragment

jquery - AJAX 响应正在缓存

javascript - 在 javascript 中将包含 HTML 的哈希树解析为 JSON

javascript - 如何从我的日历中禁用过去的日期?

javascript - 无法在 Cordova iOS 应用程序中添加自动完成功能