我在jsp页面中使用ajax。在到达servlet之后,我想发送回带有消息的响应。一开始我用的是"回应"。sendror(500, "这是一个测试消息");但是当我尝试在ajax错误函数中获取错误消息时,我使用了xHR。responeText并得到了一个包含消息的html字符串,但这对我来说并不好,我只想得到错误消息。我还尝试了setStatus(500)和contenttype - xml,但我仍然无法得到错误消息。
如何做到这一点?我想发送错误码500,但每次我都想发送不同的消息,然后在ajax回调函数中读取它。
提前致谢
假设我理解你的问题正确你想收到错误消息作为一个普通字符串没有html标签?
如果是这种情况,您应该将文本写入响应并设置mime类型(contentType为"text/plain ")。
比如。
PrintWriter writer = response.getOut();
writer.print(errorMessage);
response.setStatus(500);
return
确保在执行此操作时还没有写入响应
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);
}
}
}
});
在你的JS中你需要读取xHR.status。不是xHR.responeText。xHR。