Jquery getJSON()没有从Controller获取任何输出
Jquery getJSON() doesn't get any output from Controller
我试图从控制器获取对象并在JSP中显示。在调试我的控制器时,返回了正确的数据。但是,当我使用firebug调试我的javascript时,流不会进入getJson的函数(数据)。
$.getJSON('/em',{name: name, cv: cv},
function(data){
alert("Hello");
alert(data.name);
});
控制器-
@RequestMapping(value = "/em", method = RequestMethod.GET)
public Employee addEmployee(@RequestParam(value = "name", required = true) String name, @RequestParam(value = "cv", required = true) String cv,Model model) {
return addedEm;
}
我得到正确返回的addedEm。不知道这里出了什么问题。有人能帮我一下吗?谢谢。
另外,当我添加@ResponseBody到我的控制器,我得到的响应在firebug:
Apache Tomcat/7.0.12 - Error report - <h1>HTTP Status 500 - </h1><p><b>type</b> Exception report</p><u>The server encountered an internal error () that prevented it from fulfilling this request.</u><b>exception</b> <pre>org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.hibernate.collection.PersistentBag[0]-> nz.co.datacom.panelrequests.pd.user.Employee["user"]-> nz.co.datacom.panelrequests.pd.user.User["roles"]-> org.hibernate.collection.PersistentBag[0]-> nz.co.datacom.panelrequests.pd.user.Panelist["employees"]->*
然后:
org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:189)
org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:142)
org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:442)
org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:383)
org.codehaus.jackson.map.ser.ContainerSerializers$AsArraySerializer.serialize(ContainerSerializers.java:142)
然后重复,直到firebug的最大限制
发生这种情况是因为您的实体彼此之间有引用。这就产生了无限递归。当jackson去读一个,然后回到另一个,再回到那个,等等。你的雇主有雇员的推荐人,雇员也有雇主的推荐人。OneToMany和ManyToOne
这是一个修复的博客条目。http://vard-lokkur.blogspot.com/2010/10/json-jackson-to-rescue.html
http://wiki.fasterxml.com/JacksonFeatureBiDirReferences另外,如果你不想包含实体中的某些字段,你也可以使用@JsonIgnore注释来忽略它们。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 如何使用Angular Controller从Mongo数据库中获取数据
- 获取Controller到javascript的返回值
- 从Angular Controller中的php文件获取JSONP数据
- 在Controller的init函数中获取View组件
- 在Angularjs中从Controller获取元素id
- Jquery getJSON()没有从Controller获取任何输出