@ResponseBody 返回null对象 ajax回调不成功

本文探讨了如何通过自定义ObjectMapper子类来处理@ResponseBody注解返回的JSON数据,包括过滤特殊字符、处理null值等。并通过一个具体的示例展示了如何在Java控制器中使用@ResponseBody返回JSON数据,并讨论了Ajax回调中的success与error触发条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@ResponseBody 的返回处理都可以用一个继承ObjectMapper的类去处理 

比如,过滤特殊字符,处理null(属性,不是对象),

针对返回的null对象(如果ajax对设置了datetyp:"json",不会回调在success,而会在error中回调),

我们可以包装返回结果为json,{result:"true",data:""}即保证是json,或者去了datatype:"json", 

也就是说ajax的回调success,还是error,不仅仅看返回状态,还看返回的是否也满足请求的要求 

$.ajax({ 
        type: "post", 
        url: "${applicationScope.contextPath}/tbConFirmFee/getCustomer", 
        data: dataParent, 
       /// dataType: "json", 
        success: function (data) { 
        allPrpos(data); 
        alert("====回调====="); 
        alert("====回调====="+ data); 
        allPrpos(data); 
        alert("====回调====="); 
        alert("====回调r====="+ data); 
        allPrpos(data); 
        alert("====回调====="); 
        }, 
        error:function(data){ 
        var a=data; 
        allPrpos(a); 
        alert("====回调error111====="+ data); 
        alert("====回调error11====="+data); 
        allPrpos(data); 
        
        } 
    }); 




=== 

@RequestMapping("/tbConFirmFee/getCustomer") 
public @ResponseBody  TbCusFirm  getCustomer(@RequestParam(value = "customerid", required = false) String customerid, Model model) throws EsteelException { 
TbCusFirm use = new TbCusFirm(); 
if(!"".equals(customerid)&&null!=customerid){ 
use.setCustomerKey(BigDecimal.valueOf(Long.valueOf(customerid))); 
use= tbConFirmFeeService.getCustomerInfo(use); 

return use; 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值