【问题标题】:How to get response message from AJAX data如何从 AJAX 数据中获取响应消息
【发布时间】:2013-05-07 10:04:26
【问题描述】:

这里我写的是对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  !");
        }

    } 

但我期待我的回复消息。

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

请帮忙!!!!

【问题讨论】:

  • 如果您使用的是 Chrome,您可以使用 console.log(data) 并检查控制台以了解您的响应对象的外观。
  • dataType:'html' //or json 什么的?在 ajax 中!
  • 我在 firebug 和 chrome 中看到了空控制台:(
  • dataType: JSON , in $.ajax!!!
  • @NoobUnChained 是的,谢谢。让我检查一下。

标签: java ajax jquery servlets


【解决方案1】:

30 分钟研究后

我发现MIME type 不见了,并将我的方法更改为

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 的及时支持。

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 2011-08-22
    • 2023-04-04
    • 2020-04-11
    • 2015-06-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多