javascript
如何对java分装,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
let newUrl = localServer + "/search"; //查詢網址
let req = { id: 123, name: "abc" }; //查詢參數
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 pathList = Arrays.asList( paths.split(","));
List resultPath = mergeService.merge(businessnum, pathList);
String return_JSONP = String.join(",", resultPath);
String jsonCallback = request.getParameter("callback"); //jsonpCallback 客戶端請求參數
Map 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
希望與廣大網友互動??
點此進行留言吧!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的如何对java分装,Angular4 JSONP + JAVA代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京环球影城小孩买票标准
- 下一篇: 楚乔传左宝仓帮楚乔恢复记忆了吗 他的真正