2016-01-21 2 views
0

Итак, моя проблема вкратце: у меня есть html-страница с кнопкой. Когда кнопка нажата, я хотел бы перейти на другую страницу. Выглядит довольно просто, но я не могу понять.jQuery кнопка щелчок + весна mvc навигация

Итак, моя обработка кнопки логика выглядит следующим образом:

$("#go").click(function() { 
      var source = $("#dropdown").text(); 
      $.ajax({ 
       type : "GET", 
       url : "mainpage.html", 
       data: {provider: source} 
      }); 
     }) 

Теперь мой контроллер выглядит следующим образом:

@Controller 
    public class MainController { 
    @RequestMapping(value = "/hello", method = RequestMethod.GET) 
    public ModelAndView hello() { 
     ModelAndView mav = new ModelAndView(); 
     mav.setViewName("index"); 
     return mav; 
    } 

    @RequestMapping(value = "/mainpage", method = RequestMethod.GET) 
    public String goToMainPage(@RequestParam("provider") String provider) { 
     System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@" + provider.trim()); 
     return "empty"; 
    } 
} 

Таким образом, история начинается на странице, связанной с /hello (= index.jsp). Страница найдена, отображается, все в порядке. Тем не менее, когда я нажимаю кнопку y, я могу увидеть, что выкладывается список «@», но страница для/hello (index.jsp) отображается снова вместо одной для /mainpage (которая должна быть empty.jsp, файл находится прямо здесь к другому).

Я также попытался вернуть ModelAndView, но это не помогло. Я попытался разбить этот контроллер на два, но это не помогло. Я пытался использовать POST вместо GET, вы знаете, что произошло ...

Это может быть глупый вопрос, но я совершенно не знаком с Spring MVC.

+0

Почему вы делаете это через ajax? Если вы переходите с одной страницы на другую, просто введите GET или POST в url с требуемым параметром. – minion

+0

Где-то я читал, что $ .post - это всего лишь сокращение для $ .ajax (... "POST" ...); Я попытался использовать простой пост/получить, но это, к сожалению, не решает мою проблему. – TamasGyorfi

ответ

0

Хорошо, наконец, я понял. я изменил свою функцию JQuery это:

$("#go").click(function() { 
     var source = $("#dropdown").text(); 
     window.location.href='/mainpage?provider='+source; 
    }); 

и метод управления для GET. Это также проходит через контроллер MVC и правильно извлекает значение для поставщика.

В любом случае, пожалуйста, дайте мне знать, если есть лучший способ сделать это.

Смежные вопросы