Java跨域经验一则

盛世北京赛车pk10历史记录 www.lcvmw.cn 时间:17-12-18 栏目:Nginx 作者:kyle 评论:0 点击: 784 次

?

最近开发了一个Java的后端小程序,在微信小程序这边使用Web-view进行HTML5的嵌套,然后用Ajax进行接口的调用。后端的接口使用Java的格式进行返回。

?

然后,使用postman进行请求能正常返回,使用HTML却无法得到结果。料想应该是浏览器的跨域问题。

?

然后添加一段SpringBoot的代码解决全局所有域名的跨域调用。

?

代码如下:

/**
* CORS全局统一跨域设置,所有均可跨域
*/
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
return corsConfiguration;
}

@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}

?

这段代码过于粗暴,无法控制跨域的请求域名,还可以通过CrosFilter的形式进行自定义设置,还在研究中。

?

顺手找了一段HTML用于测试跨域问题是否存在。存档备用。cros_test.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>跨域测试</title>
<script src="//apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
function crosRequest() {
$.ajax({
url: '//112.111.1.1:8092/api/v1/getHotList',
type: 'post',
dataType: 'json',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
source: 'baidu',
category: 'index'
}),
success: function (data) {
console.log(data);
}
});
}
</script>
</head>
<body>
<button onclick="crosRequest()">请求跨域资源</button>
</body>
</html>

?

核心点在于加上JSON.stringify,才能以POST JSON的形式提交Java后端。

然后在Console里面可以看到是否是跨域的问题造成的无法请求。

?

另:在测试跨域的时候,cros_test.html不要放到接口同域下面,否则测试不了,可以本地使用hosts建一个虚拟空间,配合Nginx把cros_test.html放到a.com下面,然后接口访问b.com的接口,才能测试出是否有跨域的问题。

?

?

?

?

?

成都SEO小五嚎2句: 本文是(盛世北京赛车pk10历史记录)辛苦弄出来的,转载成都SEO小五原创的请保留链接: Java跨域经验一则,3Q

Java跨域经验一则:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术?;队耗诮涣?。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流??帕艘桓鯭Q交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人

北京pk10计划软件 | 676| 175| 871| 866| 324| 40| 248| 669| 10| 172|