对Controller进行AJAX调用:
$.ajax({
cache : false,
type : "POST",
url : url,
data : {
//some data
}
控制器成功解释了该调用:
@RequestMapping(value = "/checkIfRatedOverall")
public ModelAndView checkIfRatedOverall(@ReqestParam.......)
但是当我返回 ModelAndView 时,没有任何反应!
视图保持不变,浏览器不显示xxx.jsp
return new ModelAndView("xxx"); //NOTHING HAPPENS
LOG:
JstlView:166 - Forwarding to resource [/WEB-INF/views/xxx.jsp] in InternalResourceView 'xxx'
DispatcherServlet:1251 - Rendering view [org.springframework.web.servlet.view.JstlView: name 'xxx'
DispatcherServlet:1000 - Successfully completed request
答案 0 :(得分:0)
你的内部视图解析器应该是这样的
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
答案 1 :(得分:0)
检查ajax文档here
$.ajax({ ...}).done(
function( html ) {
$( "#results" ).append( html );
});
您使用ajax响应做了什么?从我看到你对服务器响应无能为力。
答案 2 :(得分:0)
使用@ResponseBody属性并返回JSON对象而不是模型视图
@RequestMapping(value = "checkIfRatedOverall", method = RequestMethod.POST)
public @ResponseBody String checkIfRatedOverall(@ReqestParam.......)
{
return jsonStr://return json string
}
在jquery中使用JSON.parse(data)
解析字符串$.ajax({
cache : false,
type : "POST",
url : url,
data : {
//some data
},
success : function(data) {
JSON.parse(data);
}
});