Как правильно получить определяемый пользователем объект с помощью Ajax вызова Java контроллера?
Ниже приведен класс объекта:
@SuppressWarnings("serial")
@Entity
@Table(name = "is_sector")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Sector implements java.io.Serializable {
private BigDecimal id;
private String nameEn;
private String nameAr;
private Organization org;
private ApplicationUser manager;
private BigDecimal userGroupId; //USER_GROUP_ID
private ApplicationUser specialist;
private BigDecimal orderId;
private BigDecimal active;
/**
* Instantiates a new sector.
*/
public Sector() {
}
/**
* Instantiates a new sector.
*
* @param id the id
*/
public Sector(BigDecimal id) {
this.id = id;
}
/**
* Instantiates a new sector.
*
* @param id the id
* @param nameEn the name en
* @param nameAr the name ar
* @param orgId the org id
*/
public Sector(BigDecimal id, String nameEn, String nameAr,Organization org) {
super();
this.id = id;
this.nameEn = nameEn;
this.nameAr = nameAr;
this.org = org;
}
/**
* Instantiates a new sector.
*
* @param id the id
* @param nameEn the name en
* @param nameAr the name ar
* @param orgId the org id
* @param userGroupId the user group id
*/
public Sector(BigDecimal id, String nameEn, String nameAr,Organization org, BigDecimal userGroupId,ApplicationUser manager) {
super();
this.id = id;
this.nameEn = nameEn;
this.nameAr = nameAr;
this.org = org;
this.userGroupId = userGroupId;
this.manager = manager;
}
/**
* Gets the user group id.
*
* @return the user group id
*/
@Column(name = "user_group_id", nullable = true, precision = 22, scale = 0)
public BigDecimal getUserGroupId() {
return userGroupId;
}
/**
* Sets the user group id.
*
* @param userGroupId the new user group id
*/
public void setUserGroupId(BigDecimal userGroupId) {
this.userGroupId = userGroupId;
}
............................................
............................................
Ниже приведен метод контроллера:
@RequestMapping(value = "/getSectorById/{sectorId}")
public Sector getSectorById(ModelAndView mav, @PathVariable BigDecimal sectorId) {
return getSector(sectorId);
}
public Sector getSector(BigDecimal sectorId) {
Sector sector=null;
try {
Sector exampleSector = new Sector();
exampleSector.setId(sectorId);
sector=lookupService.findSector(exampleSector) ;
}
catch (Exception e) {
e.printStackTrace();
}
return sector;
}
Когда я пытаюсь получить к нему доступ таким образом, он не входит в метод успеха, и я вижу «[object Object]» в ответ на ошибку.
function getSectorById(sectorId){
var sector=null;
$.ajax({
type: "POST",
async: false,
url: contextPath + "/secure/services/getSectorById/"+sectorId,
contentType: contentTypeJSON,
success: function(data) {
alert(data);
sector= JSON.parse(data);
},
error: function(response){
alert(response); //THIS SHOWS "[object Object]"
}
});
return sector;
}
Как это сделать верно?