栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring后台和jsonp解决跨域问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring后台和jsonp解决跨域问题

为什么会发生AJAX跨域

1.浏览器限制
2.跨域 :协议 域名 端口
3.XHR(xmlhttprequest)请求才会报跨域问题

同时满足以上3點才会产生跨域安全问题

解決思路

使用jsonp

原因:不使用XHR(xmlhttprequest)请求

前端代码
$.ajax({
	    	url : interfaceUrl,
	 type : "get",
	 dataType : "jsonp",
	 data: paramObj,
	 jsonp: "callbackparam",
	 jsonpCallback: "success_jsonpCallback",
	 success : function(result) {
	 ……
	 }
后端代码
@GetMapping(value = "/map", produces = {"application/javascript;charset=UTF-8"})
    @ResponseBody
    @ApiOperation("根据用户id查询轨迹图")
    public String getTrackMap(@RequestParam(value = "callbackparam") String callback) {
 String str = "……";
 return callback + "(" + str + ")";
    }

这里要注意两点,

1.produces = {“application/javascript;charset=UTF-8”}

返回类型为javascript

2.return callback + “(” + str + “)”

获取前端传递的callback参数并拼接需要给前端的数据

结果

可以通过在ajax中在控制台打印"result"参数来观察获取的数据!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/239457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号