跨域请求返回jsonp 乱码三个解决api

本文介绍了通过JSONP及Spring框架内置功能解决跨域问题的三种具体实现方式:使用Jackson处理跨域请求、直接返回UTF-8编码的JSON字符串以及利用Spring的MappingJacksonValue对象。
摘要由CSDN通过智能技术生成

跨域是什么:跨域说白就是一个web项目访问另一个web项目,前提是域名或者端口号不同.

第一个:使用jackson

@RequestMapping(value="/itemcat/all")

@ResponseBody
public  JSONPObject getItemcatResult(String callback){
System.out.println(callback);

ItemcatResult itemcatResult = itemcatNode.getItemcatResult();

JSONPObject jsonp=new JSONPObject(callback, itemcatResult);



return jsonp;

}

第二个: 返回String json 字符为utf-8 不加 下面红色覆盖的语句返回的是乱码 ,

@RequestMapping(value="/itemcat/all",produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public  String getItemcatResult(String callback){
System.out.println(callback);

ItemcatResult itemcatResult = itemcatNode.getItemcatResult();
String json=JsonUtils.objectToJson(itemcatResult);
String call=callback+"("+json+")";



return call;

}

第三个: 使用Spring 提供的

@RequestMapping(value="/itemcat/all")
@ResponseBody
public  MappingJacksonValue getItemcatResult1(String callback){
System.out.println(callback);

ItemcatResult itemcatResult = itemcatNode.getItemcatResult();

MappingJacksonValue jack=new  MappingJacksonValue(itemcatResult);

jack.setJsonpFunction(callback);


return jack;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值