• 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 }

    搞定。

  • 相关阅读:
    C#泛型
    QT QML Keys 处理注意事项
    Ubuntu 16.04 安装 QT Create 5.3.1
    在VMWare中安装了Ubuntu16.04,想要 Win10 中通过 SecureCRT 来操作
    Ubuntu16在VMWare中使用共享文件夹
    QT QLineEdit 获取焦点/获取焦点后全选字符
    QT Layout 布局的重要性
    QT ToolBar 工具栏浮动状态
    QT 格式化字符串功能
    QT 窗体之间(MainWindow 和 Dialog)数据传递
  • 原文地址:https://www.cnblogs.com/xu-lei/p/5849583.html
Copyright © 2020-2023  润新知