zoukankan      html  css  js  c++  java
  • 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 }

    搞定。

  • 相关阅读:
    控制论学习
    离开
    Python学习
    GHSpro多数据库连接
    django基础 第五章 Django连接数据库
    django基础 第四章 模板标签
    django基础 第三章 模板变量
    django基础 第二章 url配置及文件渲染
    django基础 第一章 环境搭建
    python基础 六、模块和包
  • 原文地址:https://www.cnblogs.com/xu-lei/p/5849583.html
Copyright © 2011-2022 走看看