jsonp的解决ajax跨域问题
来源:互联网 发布:sql server access 编辑:程序博客网 时间:2024/05/22 01:37
1、ajax跨域问题,使用jsonp进行解决
利用js的特性
<script type="text/javascript" src="http://localhost:2701/Scripts/jquery-1.4.4.min.js"></script>
返回后调用方法解析数据到ajax请求中的data数据中
简单的理解为 带callback的json就是jsonp.
2、前端
话不多说,上js代码,使用方法和普通ajax一样,返回数据类型为jsonp即可。
$.ajax({url : "http://localhost:8089/user/token/" + _ticket,dataType : "jsonp",type : "GET",success : function(data){if(data.status == 200){var username = data.data.username;var html = username + ",欢迎来到淘淘!<a href=\"http://www.taotao.com/user/logout.html\" class=\"link-logout\">[退出]</a>";$("#loginbar").html(html);}}});
3、服务端 在返回json的时候包装一层即可返回格式 (callback(jsonString);)
@RequestMapping(value="/user/token/{token}",method=RequestMethod.GET,//指定响应的格式produces=MediaType.APPLICATION_JSON_UTF8_VALUE)@ResponseBodypublic String getUserByToken(@PathVariable String token,String callback){TaotaoResult result = userService.getUserByToken(token);//判断是否为jsonp请求if(StringUtils.isNotBlank(callback)){return callback +"("+JsonUtils.objectToJson(result)+");";}return JsonUtils.objectToJson(result);}
//jsonp第二种解决办法 需要spring4.1以上@RequestMapping(value="/user/token/{token}",method=RequestMethod.GET)@ResponseBodypublic Object getUserByToken(@PathVariable String token,String callback){TaotaoResult result = userService.getUserByToken(token);//判断是否为jsonp请求if(StringUtils.isNotBlank(callback)){MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);//设置回调方法mappingJacksonValue.setJsonpFunction(callback);return mappingJacksonValue;}return result;}
阅读全文
0 0
- jsonp的解决ajax跨域问题
- 通过jsonp解决ajax的跨域请求问题
- 利用JSONP解决AJAX跨域问题的原理
- jQueryAJAX的$.ajax()用jsonp解决跨域问题
- 通过jsonp解决ajax的跨域请求问题
- 通过jsonp解决ajax的跨域请求问题
- 通过jsonp解决ajax的跨域请求问题
- 深入浅出JSONP:解决AJAX跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- 深入浅出JSONP--解决ajax跨域问题
- [NOIP2017模拟]Problem
- 手机新软件指引实现步骤
- hdu2255 奔小康赚大钱(KM)
- gulp之向项目中添加 icon 图标
- Java——jdk1.5多线程 Lock接口及Condition接口
- jsonp的解决ajax跨域问题
- 操作系统实验一(进程管理)
- C++ 双向链表的实现
- 学习move _base包
- python安装后无法使用idle
- 阿婆家的ORACLE事务大全
- bzoj 4765: 普通计算姬
- 九度OJ——1113二叉树
- Android中颜色设置