js 跨域请求controller时,controller的写法,使用的是ResponseEntity

来源:互联网 发布:mac osx 更新 编辑:程序博客网 时间:2024/06/05 04:22
controller 代码
/**     *  券商资管的撤销     *  @param orderNo     *  @param accountNo     *  @return     *  @author liu ao (17020412)      *  @created 2017年8月17日 下午2:44:41     */    @RequestMapping(value="/cancelBuyForAggeration", produces = {"application/json;charset=UTF-8"})    @ResponseBody    public ResponseEntity<String> cancelBuyForAggeration(@RequestParam(value = "orderNo") String orderNo ,    @RequestParam(value = "accountNo") String accountNo ,    @RequestParam(value = "callback") String callback,HttpServletRequest request) {     Map<String,Object> requestParam = new HashMap<String, Object>();        LOGGER.info("**********接入资产聚合跨域请求撤单方法,对应的参数为[{}], orderNo: [{}], accountNo: [{}]", new String[]{                orderNo, accountNo });        requestParam.put("orderNo", orderNo);        requestParam.put("accountNo", accountNo);        Map<String, Object> res = rsfSecuritiesTrader.cancelBuy(requestParam);        if(res.get("code").equals(ResultCode.CODE0.code)){        res.put("success", "true");        }else{        res.put("success", "false");        res.put("msg", res.get("errorMsg"));        }        HttpHeaders responseHeaders = new HttpHeaders();        responseHeaders.set("Content-Type", "text/plain;charset=utf-8");        return new ResponseEntity<String>(callback + "(" + JSONUtil.object2json(res) + ")", responseHeaders, HttpStatus.OK);    }

jsonp 的理解参考:

http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html


jsonp 中的请求默认的callback 名称就是callback ,所以这里用callback当作函数名,包裹所需传递的json 字符串,然后在中就可以在success 回调方法中使用该json 数据



原创粉丝点击