Java Spring控制器返回视图或空字符串到ajax请求
我发出一个ajax请求,有两种情况,如果一切正常,我返回一个页面,该页面将以模式呈现,否则返回空字符串,并且根本不显示任何模式 以下是我的控制器的外观示例:Java Spring控制器返回视图或空字符串到ajax请求,java,spring,model-view-controller,Java,Spring,Model View Controller,我发出一个ajax请求,有两种情况,如果一切正常,我返回一个页面,该页面将以模式呈现,否则返回空字符串,并且根本不显示任何模式 以下是我的控制器的外观示例: @PostMapping(value = "/path") public String serve(final Model model) { if (everything_fine) { return "path_to_page_which_will_be_handled_by_view_contro
@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没有为返回的空字符串找到任何视图,您知道如何完成我的场景吗?您试图将空路径返回到浏览器,结果得到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";
}
最终将其分为两个请求,一个请求获取决定是否显示模态的数据,最后请求模态内容(如果需要)