springMVC接口实现跨域访问:

springMVC框架通过@CrossOrigin注解的方式实现接口的跨域访问


java示例代码:

package com.jmst.httpservice;
import java.util.HashMap;
import java.util.Map;import javax.annotation.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@CrossOrigin(origins="*",maxAge=3600) //跨域请求 origins=允许请求的地址 【*】允许所有的请求地址;前台请求需要注意设置contentType和@RequestMapping中的produces值相同
@RequestMapping(value="/sys/api",method={RequestMethod.POST,RequestMethod.GET})
public class httpServer extends BasciAction{@RequestMapping(value="/postTest",method=RequestMethod.POST,produces = {"application/json;charset=UTF-8"})@ResponseBodypublic Map<String,Object> postTest(@RequestBody JSONObject jsonObject,@RequestHeader HttpHeaders headers){Map<String,Object> map = new HashMap<String, Object>();map.put("flag", 1);map.put("msg", "成功");return map;}
}

前端ajax调用示例:

需要注意contentType必须和后台RequestMapping注解中的produces值相同

$.ajax({type: "POST",url:"http://localhost:8080/jmst_touch/sys/api/postTest",data: JSON.stringify({"startTime":"2020-01-20","endTime":"2021-01-20"}),dataType:"json",async:false,contentType: "application/json",success: function(data){alert(data.msg);} });

踩了不少坑。留个示例方便以后查看

CrossOrigin注解的方式实现接口的跨域访问相关推荐

  1. Springboot 接口允许跨域访问

    解决: 在@RestController下添加注解 @CrossOrigin即可 @RestController @CrossOrigin // 允许跨域访问 public class Product ...

  2. Spring Boot配置跨域访问策略

    From: https://blog.csdn.net/garyond/article/details/80192760 1. 引言 我们在开发过程中通常因为不同应用之间的接口调用或者应用之间接口集成 ...

  3. jQuery 跨域访问问题解决方法

    浏览器端跨域访问一直是个问题, 多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼.记得很久以前使用iframe 加script domain 声明,yahoo js ...

  4. nginx设置图片跨域访问

    生而为人 谁不付出 谁不努力 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log ...

  5. jq跨域代理_用jQuery解决跨域访问

    浏览器端跨域访问一直是个问题, 多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼.记得很久以前使用iframe 加script domain 声明,yahoo js ...

  6. jq跨域代理_jQuery 跨域访问问题解决方法

    jQuery 跨域访问问题解决方法 更新时间:2009年12月02日 01:25:19   作者: 浏览器端跨域访问一直是个问题, 多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时 ...

  7. 新蜂商城(newbee-mall-api)部分接口实验,跨域处理(同源策略,跨域访问,CORS),系统安全问题(Session,Cookie,Token,OAuth)(软件工程综合实践课程第十三周)

    文章目录 一.要求 二.知识总结 跨域处理 1.同源策略 1.1 浏览器的同源策略 1.2 跨域请求实验 2 跨域访问 2.1 添加响应头来处理跨域 2.1.1 CORS 跨域资源共享 2.1.2 设 ...

  8. Vue跨域访问后端接口问题解决

    VUE访问接口的时候,很可能出现跨域请求,从而被提供接口的服务器拒绝,下面这篇文章主要给大家介绍了关于Vue如何解决跨域问题的相关资料,需要的朋友可以参考下 什么是跨域 跨域指浏览器不允许当前页面的所 ...

  9. java跨域解析json数据_java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据...

    在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...

最新文章

  1. PyTorch 笔记(13)— autograd(0.4 之前和之后版本差异)、Tensor(张量)、Gradient(梯度)
  2. pypypy python_聊聊Python中的pypy
  3. Visual Studio 2019 正式发布
  4. win10微软账户登录后以管理员都无法修改hosts文件解决办法
  5. 【软考-软件设计师】计算机系统硬件基本组成
  6. ELK之elasticsearch5.6的安装和head插件的安装
  7. 微软高级经理:Google Chrome内有部分微软的代码
  8. python日志,支持彩色打印和文件大小切片写入和写入mongodb
  9. 从 4 个月到 7 天:Netflix 开源自家框架 Metaflow,性能像坐上了火箭
  10. python中sys用法_Python中sys模块功能与用法实例详解
  11. Codeforces Round #484 (Div. 2) D. Shark
  12. 实践四 -- 文本词频分析
  13. iPhonexs文件连接服务器,iPhonexs黑屏了教你如何快速解决!
  14. 夜神模拟器ADB版本不一致问题
  15. FocalLoss解析
  16. 一文搞懂H264量化原理以及计算过程
  17. blender bpy
  18. 腾讯招聘总监:腾讯内推的思考与实践|好文推荐
  19. 黑莓BES系统架构介绍
  20. npm 实战精讲-曾亮-专题视频课程

热门文章

  1. js延迟(异步)加载的6种方式 为什么要延迟加载js呢?
  2. gridsome(三)——plugins
  3. 华米科技诚意之作:Amazfit GTR 2e 亮相CES电子展
  4. 计算机网络-学习笔记
  5. 从业老学姐Python经验分享,别再相信培训机构“爬虫好学”的鬼话了,少走弯路!
  6. 编辑中的word变成只读_word只读模式怎么取消,word只读模式怎么改
  7. 小米手机5s Plus超简单刷成开发版启用Root超级权限的经验
  8. 最新青龙面板安装教程+依赖+拉库合集
  9. 鸿蒙开发者招募!给后辈的一点建议,终局之战
  10. sharepoint bcs (bussiness connectivity services)