以前写ajax和后台交互返回一个简单Yes or No到ajax的success: function(data)都可以正确的接收并做出提示,
今天在HTML页面这样写就不行,ajxa回调函数接收不到值,f12调试的时候又可以接收,感觉很奇怪。不知道哪里出了
问题,然后就在后台换了一种方式来传值,转成JSONArray后在返回到ajax。这样问题就解决了
代码
/** * 注册用户 * 企业用户注册 */ @RequestMapping("/addUserCompany") @ResponseBody public JSONArray addUserCompany(User user) throws UnsupportedEncodingException, NoSuchAlgorithmException { int isNum=0; isNum= userService.insertCompany(user); String mess=null; if (isNum>0) { mess="[1]"; System.out.println("注册成功"); } else { mess="[2]"; System.out.println("注册失败"); } JSONArray json= JSONArray.fromObject(mess); return json; }
function reg(){ var $j = jQuery.noConflict(); //自定义一个比较短快捷方式 var params=$j('#inputForm').serializeArray();; $j.ajax({ async:false, type:'POST', url:'../user/addUserCompany', data:params, // 要提交的表单 dataType:"json", success: function(data){ if(data==1) { alert("注册成功"); return true; } }, error : function (){ alert('注册失败'); } }) }