Spring 跨域请求
1.Jsp的跨域请求
后台jsp代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String callback = request.getParameter("callback");
out.print(callback+"([{name:'jsonp',age:'30'},{name:'jack',age:'90'}]);");
out.print(callback);
%>
前端代码1:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String callback = request.getParameter("callback");
out.print(callback+"([{name:'jsonp',age:'30'},{name:'jack',age:'90'}]);");
out.print(callback);
%>
前端代码2:
<script type="text/javascript">
$.getJSON("http://localhost:8080/Jsonp/jsonp.jsp?callback=?", function(json){
alert(json[0].name);
});
</script>
2.Spring 的跨域请求
下面给出一个Controller的例子;
/**
* 获取单位信息列表json
* 注意这里把@ResponseBody 去掉了
*/
@RequiresPermissions("sys:unitnew:view")
@RequestMapping(value = "jsonp")
public void getListaa(HttpServletRequest request,HttpServletResponse response, Model model,
@RequestParam(value = "pageNumber", defaultValue = PAGE_NO) int pageNumber,
@RequestParam(value = "pageSize", defaultValue = PAGE_SIZE) int pageSize) {
try { PageHelper.startPage(pageNumber, pageSize, true);
Map<String, Object> params = builderParams(request, model);
params.put("queryCondition", " AND deleted != 1 ");
List<AssistantUnit> result = manger.findByParams(params);
System.out.println("获取单位信息json:result:" + result.size());
PageUtils<AssistantUnit> page = new PageUtils<AssistantUnit>(result); String aaa = JsonUtil.pojo2json(page);// 这个是把序列化
String callback = request.getParameter("callback");
//response.getWriter().print(callback+"([{name:'jsonp',age:'30'},{name:'jack',age:'90'}]);");
response.getWriter().print(callback+"(["+aaa+"]);");
response.getWriter().print(callback); } catch (Exception e) {
logger.warn("获取单位信息信息异常:", e);
} }
前端调用:
下面是调用的地方:
这个在Load里面: addScriptTag('http://192.168.1.103:8080/aaaaa-web/unit/jsonp?callback=dosomething');
function addScriptTag(src) {
var script = document.createElement('script');
script.setAttribute("type","text/javascript");
script.src = src;
document.body.appendChild(script);
}
function dosomething(data) {
console.log(data[0].endRow);
console.log('Your public IP address is: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
console.log('Your public IP address is: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
};
Spring 跨域请求的更多相关文章
- Ajax+Spring MVC实现跨域请求(JSONP)JSONP 跨域
JSONP原理及实现 接下来,来实际模拟一个跨域请求的解决方案.后端为Spring MVC架构的,前端则通过Ajax进行跨域访问. 1.首先客户端需要注册一个callback(服务端通过该callba ...
- Ajax+Spring MVC实现跨域请求(JSONP)(转)
背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...
- Spring Boot Web应用开发 CORS 跨域请求支持:
Spring Boot Web应用开发 CORS 跨域请求支持: 一.Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等CORS与JSONP相比 1. JSONP只能实现 ...
- Ajax+Spring MVC实现跨域请求(JSONP)
背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...
- Spring处理跨域请求
[nio-8080-exec-8] o.s.web.cors.DefaultCorsProcessor : Skip CORS processing: request is from s ...
- spring boot跨域请求访问配置以及spring security中配置失效的原理解析
一.同源策略 同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源. 同源策略是浏览器安全的基石. 什么是源 源[orig ...
- Spring Boot + Vue 跨域请求问题
使用Spring Boot + Vue 做前后端分离项目搭建,实现登录时,出现跨域请求 Access to XMLHttpRequest at 'http://localhost/open/login ...
- CORS跨域请求规则以及在Spring中的实现
CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origi ...
- Spring 完美配置跨域请求
在SpringBoot2.0 上的跨域 用以下代码配置 即可完美解决你的前后端跨域请求问题 import org.springframework.context.annotation.Bean; im ...
随机推荐
- mysql 命令备份还原
备份 mysqldump -h localhost -uroot -p123456 springbootdb > e:/springbootdb.sql 还原 mysql -h localhos ...
- KVM虚拟机的日常管理与配置
1. 查看KVM虚拟机配置文件及运行状态(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. (2) virsh命令帮 ...
- “全栈2019”Java第三十三章:方法
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Access MongoDB Data with Entity Framework 6
This article shows how to access MongoDB data using an Entity Framework code-first approach. Entity ...
- 为什么我会选择走 Java 这条路?
阅读本文大概需要 2.8 分钟. 作者:黄小斜 文章来源:微信公众号[程序员江湖] 最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++.前端之类的方向呢,另外还有一些声音:研究 ...
- 主流服务器虚拟化技术简单使用——Hyper-V(一)
Tips:因为博客园排版的原因,图片显示不清晰,可以放大网页查看清晰图片. 如果系统使用物理机,需要在BIOS里面开启Intel VT-x(或AMD-V),如果是VMware workstation, ...
- 显示point data的时均值注意事项
正确的导入顺序应该是: 先导入cell data,再做时均处理,最后再转换成point data.如果先转换成point data再做时均处理,速度会非常慢.
- sql查询字段中的值长度最大的记录
SELECT max(length(字段)) FROM 表名;
- 关于 IsLocalUrl 方法的注意事项
用于判断是否为本地url的方法 Url.IsLocalUrl() 的注意事项: 此方法是以判断传入的url字符串的开头是否为 "/" 为依据来判断是否为本地url,所以如果传入的u ...
- 仿照swpu邮寄系统的登录页面
实验过程 跟着老师的文档过了一遍手,稍作了修改 效果展示 页面在网盘: 链接:https://pan.baidu.com/s/1jsT0SDiiJXzPtR93ZAh1YA 提取码:9miq