jQuery按钮点击+弹簧mvc导航
问题描述:
所以我的问题总之:我有一个按钮的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完全陌生。
答
好吧,最后我明白了。 我将我的jQuery功能更改为:
$("#go").click(function() {
var source = $("#dropdown").text();
window.location.href='/mainpage?provider='+source;
});
和控制器方法GET。 这也通过MVC控制器并正确提取提供者的值。
无论如何,请让我知道是否有更好的方法来做到这一点。
你为什么通过ajax做到这一点?如果您正在从一个页面导航到另一个页面,只需使用所需的参数对URL进行GET或POST操作即可。 – minion
某处我读到$ .post只是$ .ajax(...“POST”...)的缩写;我尝试使用一个简单的帖子/得到,但不幸的是,这并不能解决我的问题。 – TamasGyorfi