在ajax调用之后返回什么

时间:2015-03-11 19:09:08

标签: java ajax spring-mvc servlets

我使用spring-mvc并且我有一个返回void的ajax调用,因为我只更新了数据库中的一些数据。但是如果用户没有登录,我想将他重定向到登录页面,但我必须指定String作为返回而不是void所以我该如何处理?

@RequestMapping(value="/add_to_fav") 
public @ResponseBody
void add_to_fav( ... ) {
    ....
    if(session.getAttribute("contact") == null)
        return "redirect:/login?next="+URLEncoder.encode(
                request.getRequestURL().toString() + "" + (request.getQueryString() != null ? "?" + request.getQueryString() : "")
                    ,"utf-8");

    ....

}

1 个答案:

答案 0 :(得分:0)

在这种情况下,您有一些可能性,如下面所示: 一个   - 将您的返回值更改为布尔值,如果为false则将用户重定向到登录页面。

  • 将您的返回值更改为布尔值,如果为false,则调用模态以向用户询问凭据

  • 以前确定用户是否已登录,如果没有,请在服务器调用之前调用模态,这样您对服务器的调用就会减少。

  • 如果这些选项都不适合您,请提供有关该应用程序的更多详细信息以帮助您思考。