Angular4 JSONP + JAVA代码
一、在app.module.ts模块中,注入JsonpModule模块
import {JsonpModule} from "@angular/http"; @NgModule({
imports: [
JsonpModule //注入JSonpModule模块
]
})
二、创建服务httpService,并注入jsonp和map(分装好的服务 可以直接调用)
import {Injectable} from '@angular/core';
import {Jsonp, URLSearchParams} from "@angular/http"; @Injectable()
export class HttpService { private jsonpTimes = 0; // 用于记录jsonp请求的次数 constructor(private jsonp: Jsonp) { } jsonpGet(apiURL, req){
let params = new URLSearchParams();
//设置参数
for (let key in req) {
params.set(key, req[key]);
}
params.set('format', 'json');
params.set("callback", `__ng_jsonp__.__req${this.jsonpTimes}.finished`);
this.jsonpTimes++; let request = this.jsonp.get(apiURL, { search: params })
.map((res) => {
let response = res.json();
return response;
});
return request;
} }
三、业务组件调用httpService
this.httpService.jsonpGet(newUrl, req).subscribe(data => {
let result = data.data;
});
后端JAVA代码
@RequestMapping(value = "mergeJson")
public void exchangeJson(HttpServletRequest request,HttpServletResponse response) throws Exception {
String businessnum = request.getParameter("businessnum");
String paths = request.getParameter("paths");
List<String> pathList = Arrays.asList( paths.split(",")); List<String> resultPath = mergeService.merge(businessnum, pathList);
String return_JSONP = String.join(",", resultPath);
String jsonCallback = request.getParameter("callback"); //jsonpCallback 客户端请求参数
Map<String,Object> map = new HashMap<>();
map.put("data",return_JSONP);
JSONObject resultJSON = new JSONObject(map);//根据需要拼装json PrintWriter pw = response.getWriter();
pw.write(jsonCallback+"("+resultJSON+")");
pw.close();
pw = null;
}
参考资料:https://www.cnblogs.com/minigrasshopper/p/7692368.html
Angular4 JSONP + JAVA代码的更多相关文章
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- 怎样编写高质量的java代码
代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍.也请有过代码质量相关经验的朋友 ...
- 数据结构笔记--二叉查找树概述以及java代码实现
一些概念: 二叉查找树的重要性质:对于树中的每一个节点X,它的左子树任一节点的值均小于X,右子树上任意节点的值均大于X. 二叉查找树是java的TreeSet和TreeMap类实现的基础. 由于树的递 ...
- java代码的初始化过程研究
刚刚在ITeye上看到一篇关于java代码初始化的文章,看到代码我试着推理了下结果,虽然是大学时代学的知识了,没想到还能做对.(看来自己大学时掌握的基础还算不错,(*^__^*) 嘻嘻……)但 ...
- JDBC——Java代码与数据库链接的桥梁
常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:j ...
- 利用Java代码在某些时刻创建Spring上下文
上一篇中,描述了如何使用Spring隐式的创建bean,但当我们需要引进第三方类库添加到我们的逻辑上时,@Conponent与@Autowired是无法添加到类上的,这时,自动装配便不适用了,我们需要 ...
- lombok 简化java代码注解
lombok 简化java代码注解 安装lombok插件 以intellij ide为例 File-->Setting-->Plugins-->搜索"lombok plug ...
- 远程debug调试java代码
远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...
- 几种简单的负载均衡算法及其Java代码实现
什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技 ...
随机推荐
- Android碎笔录2——按键的点击变色和圆角实现
android的Button默认写出来之后都是方形的直角,并且点击感很不明显,只要在drawable中加上一个xml就能解决这个问题: <?xml version="1.0" ...
- maven项目怎么引入另一个maven项目
yi 最近在做项目的时候,遇到多模块(mudul)开发,里面的maven包相互引用,刚开始不知道怎么导入,费了好大尽总算搞定了.把遇到的问题记录下. 1.怎么导入依赖的maven模块 选择I ...
- Linux 命令备忘(持续更新中……)
Linux命令 grep 1. 使用grep 筛选内容,多条件筛选用 grep - E "条件1|条件2" (满足条件1或条件2的均展示) 2. grep '条件3'|grep - ...
- web images
ps切图时,我们保存时会要求选择文件格式. 一般来说,如果图像的色彩丰富,没有透明度的要求,则选择为jpeg格式: 如果图像色彩不丰富,我们就选择为png-8的格式,注意:ps中要选择无杂边,无仿色 ...
- java学习笔记之Java的特点
Java在如今的发展趋势而言,一直都是处于流行的原因自然也是随之而存在的. java的特点如下几个方面: 1.简单性 Java 实际上是一个 C++去掉了复杂性之后的简化版.如果读者没有编程经验,会发 ...
- Sql Server中利用ISNULL方法判断数字并预设值
1.ISNULL方法有两个参数,ISNULL(a,b),表达式含义为如果a为NULL,则设置该字段内容为b. 例如 table tab id sum 1 1 2 null select t.id,is ...
- Javascript 删除tr 元素
Javascript 删除tr 元素 function delete1(obj){ var tr=obj.parentNode.parentNode; var tbody=tr.parentNod ...
- Python学习---Python下[set集合]的学习
Set集合[可变]是一个无序的,不重复的数据组合,它的主要作用如下: 1. 去重,把一个列表变成集合,就自动去重了 2. 关系测试,测试两组数据之前的交集.差集.并集等关系 集合(set):把不同的元 ...
- CentOS 系统新装每次必看,直到背下。。
1.CentOS7 mini 修改网卡信息: vi /etc/sysconfig/network-scripts/ifcfg-ens192 ONBOOT = yes vi /etc/resolv.co ...
- July 08th 2017 Week 27th Saturday
You are never wrong to do the right thing. 坚持做对的事情,永远都不会错. I think the translation may be not precis ...