使用jsonp解决web远程调用跨域问题
2017-03-18 10:50
549 查看
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
www.a.com -> www.b.com 跨域
www.a.com -> www.a.com 非跨域
www.a.com -> www.a.com:8081 跨域
import org.springframework.http.MediaType;
@RequestMapping(value="/data",
produces=MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8")
跨域问题
浏览器一个安全的限制,不允许js跨域请求资源,www.a.com -> www.b.com 跨域
www.a.com -> www.a.com 非跨域
www.a.com -> www.a.com:8081 跨域
jsonp的原理
浏览器在js请求中,是允许通过script标签的src跨域请求,可以在请求的结果中添加回调方法名,在请求页面中定义方法,既可获取到跨域请求的数据。springmvc应用实例
前端调用URL: "http://localhost:8081/data?callback=category.getDataService"服务器web接口
@RequestMapping(value="/data", produces=MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8") @ResponseBody public String getData(String callback) { string json="{"name": "a","url": "http://www.a.com"}"; return callback + "(" + json + ");"; }注:以下代码解决乱码问题
import org.springframework.http.MediaType;
@RequestMapping(value="/data",
produces=MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8")
相关文章推荐
- jsonp和java联合使用解决跨域问题
- 使用JSONP解决跨域问题-代码示例
- 使用jsonp和servlet实现soap跨域调用webservice弹框或者报错问题(IDEA14.04)
- 使用JSONP解决跨域问题-代码示例
- Jenkins使用jenkins-cli.jar进行远程调用时出现“ERROR: No such job 'test'”或者权限不够等问题解决(Windows)
- 如何使用jQuery的jsonp解决跨域问题
- 解决js跨域访问问题JSONP,不支持同步调用
- ajax使用jsonp解决跨域问题
- 使用fetch轻松解决JS跨域请求问题——无需CORS,jsonp
- ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"
- 使用Jsonp解决跨域数据访问问题[转]
- 使用Jsonp解决跨域数据访问问题
- 使用JSONP解决跨域问题-代码示例
- jquery使用jsonp解决json跨域访问的问题
- 使用jQuery与JSONP解决跨域问题
- 使用Jsonp解决跨域数据访问问题
- 使用JSONP解决跨域问题-代码示例
- 使用jsonp完美解决跨域问题
- 简单设置,解决使用webpack前后端跨域发送cookie的问题
- 使用JSONP解决跨域问题-代码示例