gpt4 book ai didi

jquery - ajax调用中返回ModelAndView的区别

转载 作者:行者123 更新时间:2023-12-01 07:59:36 25 4
gpt4 key购买 nike

为什么当我在调用 ajax 中返回 ModelAndView 时它可以正常工作并正常显示 jsp 页面,但是当我将它返回到带有其他对象的 map 时它不起作用。

第一个有效的案例:

@RequestMapping(value="/searchlostcard") 
public @ResponseBody
ModelAndView searchlostcard() {
[...]
return new ModelAndView("search/results","cardlist", listlostcard); ;
}

我的ajax调用

[...]
success : function(responce) {
$('#page_grid').html(responce);
}

第二种情况不起作用:

@RequestMapping(value="/searchlostcard") 
public @ResponseBody
Map<String, Object> searchlostcard() {
[...]
ModelAndView MaV = new ModelAndView("search/results","cardlist", listlostcard);

Map<String, Object> modelino = new HashMap<String, Object>();

modelino.put("taille", listlostcard.size());
modelino.put("vue", MaV);

return modelino ;

}

我的ajax调用

[...]
success : function(responce) {
$('#page_grid').html(responce['vue']);
}

最佳答案

当您返回 ModelAndView 时,Spring MVC 渲染 View 并返回该渲染 View ,无论 @ResponseBody 注释。即 HTML(假设您的 View 是 HTML)返回给客户端。

而当您返回 Map 并具有 @ResponseBody 注释时,Spring 返回序列化对象(例如表示 map 的 JSON 字符串) )。在这种情况下,不会渲染 MaV 变量引用的 View 。也就是说,您没有任何 HTML 返回给客户端。

关于jquery - ajax调用中返回ModelAndView的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com