我正在使用ajax inisde我的jsp页面。在访问servlet之后,我想发回一条带有消息的响应。 起初我使用了“response.sendError(500,”这是一个测试消息“);在我的servlet中但是当我尝试在ajax错误函数中获取错误消息时,我使用了xHR.responeText并得到了一个确实包含的html字符串消息,但它对我不好,我只想得到错误信息。 我也试过setStatus(500)和contenttype - xml,但我仍然无法收到错误信息。
如何做到这一点?我想发送错误代码500,但每次我想发送不同的消息,然后读取它inisde ajax回调函数。
感谢提前。
答案 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。