为了账号安全,请及时绑定邮箱和手机立即绑定

ajax成功到后台不知道为什么一直回调失败函数

ajax成功到后台不知道为什么一直回调失败函数

慕桂英546537 2019-03-01 11:07:01
function a() { $.ajax({ url : "http://localhost:8080/ubi/checkIntegral", async : true, data:{"carOwnerID":"111111"}, dataType : 'json', type : 'GET', success : function() { alert("ss"); }, error : function(map){ alert("FALSE"); } }); } @RequestMapping(value="/checkIntegral",method = RequestMethod.GET) @ResponseBody public Map<String,Long> checkIntegral(@RequestParam String carOwnerID ,HttpServletRequest request,HttpServletResponse response){ Long integral = impl.checkIntegral(Long.valueOf(carOwnerID)); Map<String,Long> map = new HashMap<String, Long>(); map.put("msg", integral); return map; }
查看完整描述

7 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

请求成功有数据返回,很大可能与你的返回数据格式不对有关系。因为你设置了dataType : 'json' 预期服务器返回的数据类型。这样往往会进入 error 回调。你排除一下返回数据。

而且,error是有三个回调参数的,请自行打印出来。

ajax 跳入error的一些原因

查看完整回答
反对 回复 2019-03-01
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

弹出你的返回值,看看数据就知道了

查看完整回答
反对 回复 2019-03-01
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

看到你的 dataType : 'json', 要求的是服务器返回json格式,
倘若服务器返回的数据不是json格式的数据,则会走进失败的回调中。

查看完整回答
反对 回复 2019-03-01
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

将你AJAX配置dataType:"text",然后用alert(data)查看返回值

由于Ajax请求和response不一样,得到数据后页面不需要再渲染,所以不需要RESPONSE跳转到新页面。所以不需要RETURN,而是通过PrintWriter打印到请求的页面
@RequestMapping(value="/checkIntegral",method = RequestMethod.GET)
@ResponseBody
public void checkIntegral(@RequestParam String carOwnerID ,HttpServletRequest request,HttpServletResponse response){

Long integral = impl.checkIntegral(Long.valueOf(carOwnerID));
    PrintWriter writer=response.getWriter();
    writer.write(String.valueOf(integral));
    writer.flush();
    writer.close();

}

查看完整回答
反对 回复 2019-03-01
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

没注意这个ajax是跨域请求的 。

查看完整回答
反对 回复 2019-03-01
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

你的返回值数据类型是json,你后台却给他返回了一个Map,把你的map转成json

查看完整回答
反对 回复 2019-03-01
  • 7 回答
  • 0 关注
  • 909 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信