我在按钮点击时从表单获取值,我想将这些值发布到controller
以存储到数据库中。
function PostData() {
var form = $('#myFormID')[0];
var data = {};
var dataString = "";
for(var i=1; i<form.elements.length-1; i++) {
var element = form.elements[i];
alert(element.value);
data[element.name] = element.value; //assuming the name is set on each element
dataString = (i>0 ? ";" : "") + element.value;
}
//var contextPath = "<c:url value="/checkEmailInDB"/>"; //How to send on this url
$.post("saveContact", data); //OR
}
我无法获得如何将这些值存储到数据库中。
在不使用jquery的情况下,我发送了对象并从对象中获取值,如下所示:
@RequestMapping(value = "/saveContact", method = RequestMethod.POST)
public ModelAndView saveContact(@ModelAttribute Contact contact) {
insertDAO.saveOrUpdate(contact); //FRom this contact object I was able store values into database
return new ModelAndView("redirect:/");
}
有人可以告诉我如何从jquery接收帖子回复并存储到数据库中?
答案 0 :(得分:4)
function PostData() {
var form = $('#myFormID')[0];
var data ;
var dataString = "";
for(var i=1; i<form.elements.length-1; i++) {
var element = form.elements[i];
alert(element.value);
//assuming the name is set on each element
var obj = {element.name : element.value};
data.push(obj);
}
//var contextPath = "<c:url value="/checkEmailInDB"/>"; //How to send on this url
$.post("saveContact", data); //OR
}
尝试上面
答案 1 :(得分:0)
在您的JSP上编写JQuery代码,如下所示 -
function PostData() {
var varFname=$('#fname').val();
var varLname=$('#lname').val();
var varEmailId=$('#emailId').val();
var varPhoneNumber=$('#phoneNumber').val();
var dat = JSON.stringify({"fname" : varFname, "lname" : varLname, "emailId" : varEmailId, "phoneNumber" : varPhoneNumber});
$.ajax({
url : "saveContact.ajax",
type : "POST",
data : dat,
contentType : "application/json",
dataType : "json",
success : function(response) {
alert(response);
},
error : function() {
alert("opps.....");
}
});
}
写下控制器代码,如下所示 -
@ResponseBody
@RequestMapping(value = "/saveContact", method = RequestMethod.POST)
public Boolean saveContact(@RequestBody Contact contact) {
insertDAO.saveOrUpdate(contact);
//FRom this contact object I was able store values into database
return true;
}
请记住:
中添加了属性var dat = JSON.stringify({"fname" : varFname, "lname" : varLname, "emailId" : varEmailId, "phoneNumber" : varPhoneNumber});
必须与POJO attriutes相同。并且联系POJO包含getter setters。
e.g。 &#34; FNAME&#34;是Contact POJO的一个属性。