Reputation: 19347
I want to make an ajax call from a jsp :
<script type="text/javascript">
function isTablePkUsedInFk(table_, pkVal) {
var url_ = "<c:url value='/ajaxIsTablePkUsedInFk' />";
var ret = $.ajax({
data : {"table" : table_ , "pkVal" : pkVal},
type : "POST",
url : url_,
async: false
}).responseText;
ret = $.trim(ret);
return ret;
}
</script>
In the controller :
@Controller
@RequestMapping("/")
public class Home {
@Autowired
private Environment env;
@Autowired
private UtilisateurDAO utilisateurDao;
@Autowired
private MenuDAO menuDao;
@Autowired
private DbDAO dbDao;
@RequestMapping(value = "/ajaxIsTablePkUsedInFk", method = RequestMethod.POST)
@ResponseBody
public boolean ajaxIsTablePkUsedInFk(HttpServletRequest request) {
String table = request.getParameter("table");
String pkVal = request.getParameter("pkVal");
return dbDao.isTablePkUsedInFk(table, pkVal);
}
}
In runtime nothing happens when I call the javascript function isTablePkUsedInFk
! So how to get the Java boolean in javascript ?
Upvotes: 0
Views: 1433
Reputation: 709
Try response.tablePkUsedInFk
instead of response.isTablePkUsedInFk
Upvotes: 0
Reputation: 41240
You can not return primitive from rest controller. Controller can returns a String object representing this Boolean's value.
@ResponseBody
public String ajaxIsTablePkUsedInFk(HttpServletRequest request) {
...
return Boolean.toString(dbDao.isTablePkUsedInFk(table, pkVal));
}
Upvotes: 5