【发布时间】:2017-12-26 17:42:54
【问题描述】:
我们的代码中有多个ModelBean 类。我们需要使用 AJAX 调用将不同分类的数据发送到 Main modelBean 类(如 list、object、string 等)。我尝试了以下代码并且能够发送String 类型但不能发送list 或object。从AJAX,我们需要发送到Spring controller。主 Bean 类是MainBean。
public class MainBean {
private String name;
private List<Truck> truckList;
private Address address;
}
public class Address {
private String houseNumber;
private String area;
private String city;
}
public class Truck {
private String truckName;
private Type type;
}
public class Type{
private String medium;
private String heavy;
}
控制器类
@RequestMapping(value="/saveData", method = RequestMethod.POST)
public ModelAndView saveData(@ModelAttribute("mainBean")MainBean mainBean){
truckService.saveData(mainBean);
return new ModelAndView("redirect:/main");
}
AJAX 代码
$( document ).ready(function() {
var url = window.location;
// SUBMIT FORM
$("#customerForm").submit(function(event) {
// Prevent the form from submitting via the browser.
event.preventDefault();
ajaxPost();
});
function ajaxPost(){
// PREPARE FORM DATA
var formData = {
firstname : $("#name").val(),
truckName : $("#truckName").val(),
medium : $("#medium").val(),
heavy : $("#heavy").val(),
houseNumber : $("#houseNumber").val()
}
// DO POST
$.ajax({
type : "POST",
contentType : "application/json",
url : url + "/postcustomer",
data : JSON.stringify(formData),
dataType : 'json',
success : function(result) {
if(result.status == "Done"){
$("#postResultDiv").html("<strong>" + "Success" + "</strong>");
}else{
$("#postResultDiv").html("<strong>Error</strong>");
}
console.log(result);
},
error : function(e) {
alert("Error!")
console.log("ERROR: ", e);
}
});
}
})
【问题讨论】:
标签: jquery ajax spring spring-mvc spring-boot