SpringBoot支持AJAX跨域请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SpringBoot支持AJAX跨域请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2358字,纯文字阅读大概需要4分钟。
内容图文
![SpringBoot支持AJAX跨域请求](/upload/InfoBanner/zyjiaocheng/1161/ad0a8b83dc37423b9222970727f5d70d.jpg)
利用注解的方式解决AJAX请求跨域问题
1.编写一个支持跨域请求的 Configuration
- 第一种方式
- CorsConfig.java
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /** * 处理AJAX请求跨域的问题 * @author Levin * @time 2017-07-13 */ @Configuration public class CorsConfig extends WebMvcConfigurerAdapter { staticfinal String ORIGINS[] = new String[] { "GET", "POST", "PUT", "DELETE" }; @Override publicvoid addCorsMappings(CorsRegistry registry) { registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods(ORIGINS) .maxAge(3600); } }
2.HTTP请求接口
- HelloController.java
@RestController public class HelloController { @Autowired HelloService helloService; @GetMapping(value = "/test", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public String query() { return "hello"; } }
- 第二种方式(推荐)
PS:第一种存在一个问题,当服务器抛出 500 的时候依旧存在跨域问题
@SpringBootApplication @ComponentScan @EnableDiscoveryClient public class ManagementApplication { public static void main(String[] args) { SpringApplication.run(ManagementApplication. class , args); } private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.addExposedHeader(HttpHeaderConStant.X_TOTAL_COUNT); return corsConfiguration; } /** * 跨域过滤器 * * @return*/ @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); // 4returnnew CorsFilter(source); } }
- index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>跨域请求</title> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.ajax({url:"http://localhost:8080/test",success:function(result){ $("#p1").html(result); }}); }); }); </script> </head> <body> <p width="500px" height="100px" id="p1"></p> <button>获取其他内容</button> </body> </html>
原文:https://www.cnblogs.com/jianliang-Wu/p/8945387.html
内容总结
以上是互联网集市为您收集整理的SpringBoot支持AJAX跨域请求全部内容,希望文章能够帮你解决SpringBoot支持AJAX跨域请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。