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,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技 ...
随机推荐
- 微信证书 javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
这几天在做微信退款接口,按照api写完之后,在本地测试了下没有问题,于是交给测试让他们在测试环境开测.他们说退款没有成功,感觉去查日志,发现后台报了 javax.net.ssl.SSLExceptio ...
- Yii正则验证
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
- 一个老IT产品管理者对于产品经理工作的经验总结
一个老IT产品管理者对于产品经理工作的经验总结 1. 任何行业,包括IT行业,所谓产品管理.产品经理,其核心应该是企业产品管理制度,也就是说,只有企业存在相应的.合理的产品管理体系和制度,产品管理.产 ...
- ZT 段祺瑞终生忏悔枪杀学生?
段祺瑞终生忏悔枪杀学生?http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece76310528c315c4380146080955468d4e4 ...
- memcached 相关
今天用了下memcached,把一个日志分析结果的大数组缓存起来,由于实时性跟准确性要求不高,所以缓存一周:因为日志越来越多,不缓存的话每次查看页面会比较慢.(其实可以先离线定期计算好结果存起来).以 ...
- QT信号和槽在哪个线程执行问题
时隔四个月后的第一篇,换了个公司可以登录的博客,记录一些学习内容吧 这是看到别人写的比较好的一篇,排版有点乱 QThread的使用方法 起源 昨天不小心看到Qt开发人员( Bradley T.Hugh ...
- itext-2.1.7.jar
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. ...
- iOS开发中方法延迟执行的几种方式
概述 项目开发中经常会用到方法的延时调用,下面列举常用的几种实现方式: 1.performSelector 2.NSTimer 3.NSThread线程的sleep 4.GCD 1.performSe ...
- MVC学习十四:MVC 路由 Route
一.MVC路由(Route)是什么? MVC路由(Route)可以理解规定用户访问网站方式的配置文件,就例如:我们在访问普通页面时http://xxxx/web/xx.aspx,但在MVC中我们的访问 ...
- HDU 1249 三角形(三角形分割平面)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1249 三角形 Time Limit: 2000/1000 MS (Java/Others) Me ...