1

我使用 Servlet 作为控制器和 jquery 向服务器发送请求。以下是我的jQuery请求

$.post("login", {userName:$userName, password:$password}, function(data, textStatus) {
alert(textStatus);
});

在服务器端,我编写了以下代码

response.setContentType("text/plain");
            PrintWriter out = response.getWriter();
            out.println("" + strError + "");
            out.flush();
            out.close();

我想在 servlet 中设置错误消息和错误错误状态代码,并在 jquery 中读取相同的状态代码。我怎样才能达到同样的效果?

4

2 回答 2

0

您可以从服务器返回一个 json 编码的字符串。如何从 Java Servlet 返回 JSON 对象

例如,如果您发回以下 json 编码字符串。{'error': '这是一些错误信息' }

然后在客户端,您将执行以下操作

$.post("login", {userName:$userName, password:$password}, function(data, textStatus) {
    alert(data.error); // your error message will show up here in the data object 
 },'json');
于 2012-05-04T15:52:37.880 回答
0

在 java servlet 中,要设置 HTTP 状态,您必须使用以下命令:

response.setStatus( code );

code部分可以是几件事HttpServletResponse.SC_NOT_FOUND,例如模拟错误 404(找不到页面)。可以在此处找到详尽的列表。

在 jQuery 方面,您可以使用以下内容:

$.post( 'login', { /* ... */ }, function( data, textStatus, xhrObject ) {
    // You can read the status returned with
    xhrObject.status;
} );

我猜这个textStatus变量保持状态,但文档没有说明它可以返回什么。

于 2012-05-04T16:00:19.527 回答