Hiii Guys,我正在开发一个使用Spring MVC和Hibernate框架的项目。我的问题是我正在处理一个Form并以一个Option Box的形式工作。我想在更改选项框值时更改文本字段值。 我已经试过了: -
<script type="text/javascript" >
$(document).ready(function(){
$("#venderid").change(function(){
$.getJSON("getVenderById.htm", {venderId: $(this).val()},
function(vender){
var data = JSON.parse(vender);
var mail = data.email;
$("#mail").html(mail);
}
);
});
});
</script>
Vender.java
public class Vender {
private Integer venderid;
private String vendername;
private String email;
private String contact;
//Setters and getters
}
控制器: -
@RequestMapping(value = "/getVenderById.htm")
@ResponseBody
public ModelAndView getVender(@RequestParam("venderId") int vId){
ModelAndView mav = new ModelAndView();
mav.addObject("vender", venderDAO.findById(vId));
System.out.println("=========Ajax Calling============");
return mav;
}
每件事情都运转良好,但如何根据供应商ID填写电子邮件的文本框。回调函数中是否有任何错误,或者如何利用供应商对象的值。 Apache服务器控制台窗口========Ajax Calling=======
上的另一个问题是打印意味着数据来自数据库。但我如何利用它请帮助。并提前感谢。
答案 0 :(得分:0)
在你的ajax回调处理程序中,你期待供应商,而你在控制器中发送MAV。尝试在控制器中执行此操作。
@RequestMapping(value = "/getVenderById.htm")
@ResponseBody
public Vender getVender(@RequestParam("venderId") int vId){
return venderDAO.findById(vId);
}
答案 1 :(得分:0)
我想添加minion的答案,你需要删除.htm
,因为你期待JSON作为回应。
使用ContentNegotiatingViewResolver并将JSON响应设置为默认值是一种更好的做法。
答案 2 :(得分:0)
请调试或console.log回调中的供应商值,如下所示:
function(vender){
console.log(vender);
var data = JSON.parse(vender);
var mail = data.email;
$("#mail").html(mail);
}
然后复制此处的值