js調用java代碼返回解決方案


 版權聲明:本文為樓主原創文章,未經樓主允許不得轉載,如要轉載請注明來源。

   今天封裝一個加密標簽,遇到一個問題,我需要對頁面上的數據調用java后台代碼進行解密,而標簽里只能通過js獲取到數據,所以就遇到了js掉用java代碼進行結果返回問題。

試了好多方法,現實證明js里是調不通java代碼的。(它們的執行機制和時機是不同的,具體可以自行百度)我的解決辦法就是通過ajax解決。首先在js里接收需要處理的數據,然后調用ajax,通過ajax后台對數據進行處理返回,然后在將結果供前台使用,搞定。前端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必須設置成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進行業務邏輯處理
         msg = value;
9 }catch(Exception e){ 10 e.printStackTrace(); 11 } 12 13 j.setMsg(msg); 14 return j; 15 }

搞定。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM