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 跨域请求的更多相关文章

  1. Ajax+Spring MVC实现跨域请求(JSONP)JSONP 跨域

    JSONP原理及实现 接下来,来实际模拟一个跨域请求的解决方案.后端为Spring MVC架构的,前端则通过Ajax进行跨域访问. 1.首先客户端需要注册一个callback(服务端通过该callba ...

  2. Ajax+Spring MVC实现跨域请求(JSONP)(转)

    背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...

  3. Spring Boot Web应用开发 CORS 跨域请求支持:

    Spring Boot Web应用开发 CORS 跨域请求支持: 一.Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等CORS与JSONP相比 1. JSONP只能实现 ...

  4. Ajax+Spring MVC实现跨域请求(JSONP)

    背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...

  5. Spring处理跨域请求

    [nio-8080-exec-8] o.s.web.cors.DefaultCorsProcessor        : Skip CORS processing: request is from s ...

  6. spring boot跨域请求访问配置以及spring security中配置失效的原理解析

    一.同源策略 同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源. 同源策略是浏览器安全的基石. 什么是源 源[orig ...

  7. Spring Boot + Vue 跨域请求问题

    使用Spring Boot + Vue 做前后端分离项目搭建,实现登录时,出现跨域请求 Access to XMLHttpRequest at 'http://localhost/open/login ...

  8. CORS跨域请求规则以及在Spring中的实现

    CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origi ...

  9. Spring 完美配置跨域请求

    在SpringBoot2.0 上的跨域 用以下代码配置 即可完美解决你的前后端跨域请求问题 import org.springframework.context.annotation.Bean; im ...

随机推荐

  1. 【原创】vim插件安装简介

    一.安装vundle(vim插件管理软件): git clone https://github.com/VundleVim/Vundle.vim 拷贝目录到 ~/.vim/bundle/Vundle. ...

  2. 「HNOI 2015」菜肴制作

    题目链接 戳我 \(Description\) 有若干限制,需要求一个\(1\)到\(n\)的排列,每个限制\((x,y)\)表示\(x\)必须在\(j\)之前,并要求所求的排列满足所有限制并让\(1 ...

  3. 牛客网提高组模拟赛第七场 T2 随机生成树

    其实看懂题就很水啦qwq,就是求\(1-N\)的约数啦. 暴力求的话时间复杂度是\(O(NlogN)\)的,其实正解是枚举每个数的倍数......这样的时间复杂度是\(\frac{N}{1}+\fra ...

  4. IO模型《五》异步IO

    Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入.先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事.而另一方面,从kernel的角度,当 ...

  5. ubuntu设置root登录ssh

    1. 默认不带ssh,所以需要安装一下ssh sudo apt install openssh-server 2 .设置root密码,ubuntu默认root密码是随机的,需要重置一下 sudo pa ...

  6. [ActionScript 3.0] 使TextField呈现手型的简单方法

    有的人不知道这个方法,有时候为了给文本添加手型做了很多复杂的工作,虽然是可以实现,但心里有没有一种难以接受的感觉?那我们看看这个吧, 例子一看就懂: var str:String="显示手形 ...

  7. 文本比较命令:diff

      diff的三种模式,normal, context(-c), unified(-u)   一. 基本用法和例子   例1,比较2个文件的不同 root@hong-VirtualBox:~# dif ...

  8. dbproxy-main函数

    main主函数 /home/id/lua.lua/home/id/lua-c/lua.lua/home/id/lua-c/metatable.lua/home/id/lua-c/1.lua int m ...

  9. P4098 [HEOI2013]ALO 可持久化01Trie

    $ \color{#0066ff}{ 题目描述 }$ Welcome to ALO ( Arithmetic and Logistic Online).这是一个 VR MMORPG, 如名字所见,到处 ...

  10. JAVA JVM 杂谈(一)

    JVM能够跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台先关的软件或者硬件之间的差异,使得与平台先关的耦合统一由JVM的提供者来实现. JVM结构组成: 1.类加载器:在 ...