SpringBoot配置:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

@SuppressWarnings("deprecation")
@Configuration
public class CorsFilter extends WebMvcConfigurerAdapter {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedHeaders()// 允许使用的请求方法,以逗号隔开.allowedMethods("*")// 表示接受任意域名请求.allowedOrigins("*")// 表示是否允许发送Cookie。默认情况下Cookie不包括在CORS请求中。当设为true时表示服务器明确许可,Cookie可以包含在请求中一起发送给服务器。.allowCredentials(true)// 缓存此次请求的秒数。在这个时间范围内,所有同类型的请求都将不再发送预检请求而是直接使用此次返回的头作为判断依据,非常有用,大幅优化请求次数.maxAge(3600);}
}

@SpringBootApplication
@ComponentScan
public class CorsDemoApplication {public static void main(String[] args) {SpringApplication.run(CorsDemoApplication.class, args);}}

@Controller
@RequestMapping("/cors")
public class CorsController {@RequestMapping(value="/index")@ResponseBodypublic String corsTest(HttpServletRequest request,String name,String age) {String jsonpCallback = request.getParameter("callback");Map<String, Object> map=new HashMap<>();map.put("name",name);map.put("age",age);map.put("date",new Date());return jsonpCallback + "(" + JSON.toJSONString(map) + ")";}
}

Ajax请求:

          $.ajax({url:"http://62.234.65.61:8090/cors/index",type:"POST",data:{"name":"amdin","age":20},dataType:"jsonp",/* jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)jsonpCallback:"callback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据 */success: function(data){console.log("res:"+JSON.stringify(data));},error: function(){alert('fail');}});

总结:

测试1:前台+后台本地运行,IP相同端口不同   测试结果:res:{"date":1560913652938,"name":"amdin","age":"20"}

测试2:前段本地运行,后台放到腾讯云服务器,测试结果:res:{"date":1560913652938,"name":"amdin","age":"20"}

都能完成跨域请求及成功获取返回值

转载于:https://www.cnblogs.com/JQKA/p/11050245.html

Springboot跨域 ajax jsonp请求相关推荐

  1. ajax同时调用两个jsonp,使用JSONP进行跨域Ajax 调用

    JSONP 是啥 JSONP 全称是JSON with Padding. 当需要进行跨域Ajax 调用的时候, 需要用到JSONP 协议. 客户端 $.ajax({ url: 'http://xxx' ...

  2. 中止请求和超时 跨域的HTTP请求 认证方式 JSONP

    中止请求和超时 一个栗子在上传多少秒以后直接终止请求 // 发起HTTP GEt请求获取指定URl的内容 // 如果响应成功到达,将会传入responseText给回调函数 // 如果响应在timeo ...

  3. Ajax(jQuery封装),表单form提交(Ajax),art-template模板引擎,原生Ajax,XML和JSON,axios,跨域和JSONP,防抖和节流,HTTP协议

    目录 服务器基本概念 1.URL 2.URL地址的组成部分 3. 图解客户端与服务器的通信过程 4.网页中如何请求数据 5.资源的请求方式 Ajax jQuery中的Ajax 1. $.get()函数 ...

  4. AJAX | 跨域与JSONP + 同源策略和跨域 + JSONP + 防抖和节流 + 案例 – 淘宝搜索

    目录 同源策略和跨域 同源策略 跨域 JSONP JSONP的实现原理 自己实现一个简单的JSONP JSONP的缺点 jQuery中的JSONP 自定义参数及回调函数名称 jQuery中JSONP的 ...

  5. Ajax跨域和JSONP

    跨域与JSONP 了解同源策略和跨域 同源策略 1.什么是同源 如果两个页面的协议,域名和端口都相同,则两个页面具有相同的源 判断下表给出的URL地址与http://www.test.com/inde ...

  6. Ajax——跨域与JSONP

    目录 1. 了解同源策略和跨域 1.1 同源策略 1. 什么是同源 2. 什么是同源策略 1.2 跨域 1. 什么是跨域 2. 浏览器对跨域请求的拦截 3. 如何实现跨域数据请求 2. JSONP 2 ...

  7. 【Ajax】Ajax全面讲解、跨域与JSONP及了解HTTP

    Ajax 一.初识Ajax 1.1 URL地址 1.1.1 URL地址组成部分 1.2 客户端与服务器的通信过程 1.3 网页中如何请求数据 1.4 资源的请求方式 1.5 Ajax的概念 1.6 j ...

  8. iframe解决跨域ajax请求的方法

    iframe跨域的基本前提是,一个页面可以嵌套非同源站点的html文件,以及某一个域名下的html页面可以通过脚本向同域名服务器发出ajax请求.当一个域名为domain1下的页面A想要向domain ...

  9. jQuery(三) javascript跨域问题(JSONP解决)

    加油~ --WH 一.什么是javascript跨域问题? 域:服务器域名,唯一标识(协议,域名,端口)必须保证一致,说明域相同 跨域:在一个服务器上,去访问另一个服务器上,并且得到另一个服务器返回回 ...

最新文章

  1. httpwatch的timechart 解析
  2. Nginx的upstream目前支持5种分配方式
  3. [毕业生的商业软件开发之路]尽早暴露错误原则
  4. 报告解读丨细数万亿企服市场发展史,揭秘行业发展新趋势
  5. Android实现文字一个一个显示出来
  6. ppt格式刷快捷键_普通人 | 4个我在知乎上都没有见过的PPT实用技巧
  7. HTML连载70-相片墙、盒子阴影和文字阴影
  8. java基础自学教程_Java基础自学教程(全套)
  9. [2018.08.09 T3] 几何题
  10. 码农十分钟的音律概述 纯律 五度相生律 十二平均律
  11. 海量固定资产如何进行盘点?
  12. 蓝牙BQB认证费用、周期、资料、检测项目
  13. CL210管理存储--实现块存储
  14. oracle exp导出很慢,oracleexp导出慢
  15. PHP读取Excel文件(PHPExcel)
  16. 【猿哥学二建】第一周 考试准备
  17. 2021美赛数学建模A题翻译版
  18. [转] Android优秀开源项目
  19. Python零基础入门教程,从入门到精通,不走弯路,大厂offer指日可待!
  20. idea 指定不对某些单词拼音进行检查

热门文章

  1. Farseer.Net ORM开源框架 V0.x 教程目录
  2. 修改 Workshop 中 text box 输入内容的颜色
  3. 【转】主要空间数据挖掘方法
  4. android的task任务栈
  5. php5.3连接sqlserver2005
  6. Hadoop作业提交分析(三)
  7. ASP.NET 网站管理工具中的“安全”制表页
  8. 10月13日云栖精选夜读:【云栖大会】阿里云和红帽达成合作为百万级客户提供更多企业级解决方案...
  9. Ubuntu安装docker-ELK
  10. Flux架构小白入门笔记