ajax获取响应错误消息

时间:2011-05-01 11:40:43

标签: ajax response httpresponse servlets

我正在使用ajax inisde我的jsp页面。在访问servlet之后,我想发回一条带有消息的响应。 起初我使用了“response.sendError(500,”这是一个测试消息“);在我的servlet中但是当我尝试在ajax错误函数中获取错误消息时,我使用了xHR.responeText并得到了一个确实包含的html字符串消息,但它对我不好,我只想得到错误信息。 我也试过setStatus(500)和contenttype - xml,但我仍然无法收到错误信息。

如何做到这一点?我想发送错误代码500,但每次我想发送不同的消息,然后读取它inisde ajax回调函数。

感谢提前。

3 个答案:

答案 0 :(得分:4)

假设我理解你的问题你想要将错误信息作为没有html标签的普通字符串接收吗?

如果是这种情况,您应该将文本写入响应并设置mime类型(contentType为“text / plain”。

就像这样。

   PrintWriter writer = response.getOut();
   writer.print(errorMessage);
   response.setStatus(500);
   return

确保在执行此操作时没有写入响应。

答案 1 :(得分:1)

 error: function(error) {
                        targetNode.innerHTML = " text to display" + error;
 }

使用jQuery

$.ajax({
        type: 'POST',
        url: url_,
        data: urlParams_,
        dataType: 'text',
        async: false,
        success: function(result_) {
            if (result_.length > 0 ){
                try{
                    result_ = $.parseJSON(result_);
                    result = result_;
                }catch (e){
                    alert(e);
                }
            }
        }
    });

答案 2 :(得分:0)

在你的JS中你需要读取xHR.status。没有xHR.responseText。 xHR.status应该包含500。