ajax, servlet連携
・画面側
$(document).ready(function() { $("input:button").click(function() { if (window.confirm('○○しますか?')) { // xxチェック var _return = isExistXX(); var obj = JSON.parse(_return); if (obj['message'] == "success") { dropzone.processQueue(); } else { alert("~が存在しません。~して下さい。"); } } }); }); function isExistXX() { var param1 = document.forms[0].xx.value; return $.ajax({ url : '/IsExistXX', // async(非同期) : false async : false, type : 'POST', dataType : 'json', data : { parameter1 : param1 }, timeout : 10000, success : function(data) { // alert("成功"); }, error : function(XMLHttpRequest, textStatus, errorThrown) { // alert("失敗"); } }).responseText; }
・サーバ側
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { String xx= req.getParameter("parameter1"); String aaa = Util.getZZZ(xx); String message = ""; if (!aaa.isEmpty()) { message = "success"; } else { message = "fail"; } String responseJson = "{\"message\":\"" + message + "\"}"; res.setContentType("application/json;charset=UTF-8"); PrintWriter out = res.getWriter(); out.write(responseJson); // out.print(responseJson); ← printだとjs側でJSON.parseができないので注意 }