有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring控制器向ajax请求返回视图或空字符串

我发出一个ajax请求,有两种情况,如果一切正常,我返回一个页面,该页面将以模式呈现,否则返回空字符串,并且根本不显示任何模式

下面是我的控制器应该是什么样子的示例:

@PostMapping(value = "/path")
    public String serve(final Model model)
{
    if (everything_fine)
    {
        return "path_to_page_which_will_be_handled_by_view_controller";
    }

    return StringUtils.EMPTY;
}

ajax请求是这样的:

    $.ajax({
        type: 'POST',
        url: '/path',
            error: function (data) {
                //handle error
            },
            success: function (data) {
                 if (data) {
                     // render response in modal
                 } else {
                     // show some other stuff
                 }
            }
    });

对于返回jsp的情况,请求工作正常,当返回空字符串时,我得到404,ajax请求在完成时进入错误分支。我猜这是因为view controller没有为返回的空字符串找到任何视图,您知道如何完成我的场景吗


共 (2) 个答案

  1. # 1 楼答案

    最终将其分为两个请求,一个请求获取决定是否显示模态的数据,最后请求模态内容(如果需要)

  2. # 2 楼答案

    你试图返回浏览器的空路径,结果得到404。这很正常。 尝试返回带有返回空页的控制器路径的字符串:

    @PostMapping(value = "/path")
    public String serve(final Model model)
    {
    if (everything_fine)
    {
        return "path_to_page_which_will_be_handled_by_view_controller";
    }
    return "path_to_EMPTY_page_which_will_be_handled_by_view_controller";
    }