js调用java代码返回解决方案
生活随笔
收集整理的這篇文章主要介紹了
js调用java代码返回解决方案
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?版權(quán)聲明:本文為樓主原創(chuàng)文章,未經(jīng)樓主允許不得轉(zhuǎn)載,如要轉(zhuǎn)載請注明來源。
? 今天封裝一個加密標(biāo)簽,遇到一個問題,我需要對頁面上的數(shù)據(jù)調(diào)用java后臺代碼進(jìn)行解密,而標(biāo)簽里只能通過js獲取到數(shù)據(jù),所以就遇到了js掉用java代碼進(jìn)行結(jié)果返回問題。
試了好多方法,現(xiàn)實證明js里是調(diào)不通java代碼的。(它們的執(zhí)行機(jī)制和時機(jī)是不同的,具體可以自行百度)我的解決辦法就是通過ajax解決。首先在js里接收需要處理的數(shù)據(jù),然后調(diào)用ajax,通過ajax后臺對數(shù)據(jù)進(jìn)行處理返回,然后在將結(jié)果供前臺使用,搞定。前端js如下
1 function decrypt(value){ 2 $.ajax({ 3 type: "post", 4 url: "", 5 data: {"value":value}, 6 dataType:"json", 7 async : false,//必須使用同步方法,或者success里面重新封裝方法 8 success: function(msg){ 9 value=msg.msg; 10 } 11 }); 12 13 return value; 14 }注意這里async必須設(shè)置成false,不然value值是不會改變的。
后端代碼:
1 @RequestMapping(params = "decrypt",method = RequestMethod.POST) 2 @ResponseBody 3 public AjaxJson decrypt(HttpServletRequest request) { 4 String value = request.getParameter("value"); 5 AjaxJson j = new AjaxJson(); 6 String msg=""; 7 try{ 8 //對value進(jìn)行業(yè)務(wù)邏輯處理msg = value; 9 }catch(Exception e){ 10 e.printStackTrace(); 11 } 12 13 j.setMsg(msg); 14 return j; 15 }
搞定。
?
轉(zhuǎn)載于:https://www.cnblogs.com/xu-lei/p/5849583.html
總結(jié)
以上是生活随笔為你收集整理的js调用java代码返回解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 音频audio 和视频vid
- 下一篇: 页面引用CSS和Javascript时,