Java 新视图不支持';在jQuery发出请求后,在Spring MVC中加载

Java 新视图不支持';在jQuery发出请求后,在Spring MVC中加载,java,jquery,spring,spring-mvc,model-view-controller,Java,Jquery,Spring,Spring Mvc,Model View Controller,我对SpringMVC没有什么问题。在jquery发出请求后,我的视图不会加载。已调用控制器,但web浏览器上的视图未更改 逐步解释我的工作: 使用jquery脚本单击按钮: $(function() { $('.btn-danger').click(function() { $.ajax({ url: '/admin/delete', type: 'GET', }); //location.href = '/admin/delete

我对SpringMVC没有什么问题。在jquery发出请求后,我的视图不会加载。已调用控制器,但web浏览器上的视图未更改

逐步解释我的工作:

  • 使用jquery脚本单击按钮:

    $(function() {
      $('.btn-danger').click(function() {
        $.ajax({
            url: '/admin/delete',
            type: 'GET',
        }); 
        //location.href = '/admin/delete/';
      });
    });
    
  • 我的控制器已激活(我看到日志:'Admin delete GET'):

  • 视图“主页”未加载:(为什么

  • 如果我使用ajax删除jquery脚本中的行并保留location.href,则会加载视图“home”

        $(function() {
            $('.btn-danger').click(function() {
                location.href = '/admin/delete/';
            });
        });
    
    视图:Boostrap

    弹簧靴:1.2.2

    Java:1.8


    Sitemesh:3.0

    修改
    deleteGet
    以返回
    ModelAndView
    ,然后在函数内部创建模型和视图对象并返回它:

    ModelAndView model = new ModelAndView();
    model.setViewName("home");
    return model;
    

    映射也可能有问题。日志是否显示任何错误?我建议您也提供
    配置。它必须在
    *-servlet.xml

    中定义。我为您的建议更改代码:

    ModelAndView model = new ModelAndView();
    model.setViewName("home");
    return model;
    
    但这一切都没有改变

    请注意,如果我从JSP中的正常表单调用“publicstringdeleteget(modelmodel)”,或者使用“location.href=”/admin/delete/”;“home”视图加载,则可以毫无问题地退出正常

    我的用于Spring Boot的viewResolver如下所示:

    @Configuration
    public class ServletConfig {
    
    
       @Bean
       public InternalResourceViewResolver setupViewResolver() {
           InternalResourceViewResolver resolver = new InternalResourceViewResolver();
           resolver.setPrefix("/WEB-INF/views/");
           resolver.setSuffix(".jsp");
           return resolver;
       }
    }
    
    你的ajax应该是

    $.ajax({
        url: '/admin/delete',
        type: 'GET',
        success:function(viewName){
             location.href = viewName; //add prefix to your view name in case if it is needed
        }
    }); 
    
    $.ajax({
        url: '/admin/delete',
        type: 'GET',
        success:function(viewName){
             location.href = viewName; //add prefix to your view name in case if it is needed
        }
    });