反馈已提交

网络繁忙

[老]post传参和get传参

  • 文档创建者:文档助手1
  • 历史版本:12
  • 最近更新:cherishdqy 于 2020-10-30
  • 1. 描述

    在 总章节 中我们提到 JS 调用 FR 打印方法传递参数有两种方式:post 传参和 get 传参。那么这两种参数传递的方法到底有什么区别呢?下面我们来详细讲述一下。

    注:在 JAR 包版本为 2018-04-09 及以上版本时,请使用新的打印方式,详情参照:[新]打印

    2. 参数传递方式

    1)get 传参

    get 传参方式是将参数以参数 1=参数值 1&参数 2=参数值 2 这种形式拼接在URL后面进行传递的,比如说,使用js调用Flash打印一张模板,同时传递 2 个参数到该模板中,那么其 get 方式传参打印的 URL 代码为:

    http://localhost:8075/webroot/decision/view/report?viewlet=report.cpt&p1=a&p2=b

    JS 调用 FR 打印方法的完整代码为:


    var url="http://localhost:8075/webroot/decision/view/report?viewlet=report.cpt&p1=a&p2=b";
    var isPopUp = false;
    var config = {url : url,isPopUp : isPopUp}
    FR.doURLPDFPrint(config);

    2)post 传参

    post 传参方式是将参数作为 http 请求的内容,发送到指定的 URL 中去,并不是拼接在 URL 中的,其 URL 如下代码:

    http://localhost:8075/webroot/decision/view/report

    参数会通过一个专门的格式传递过去,完整代码如下:


        var printurl="http://localhost:8075/webroot/decision/view/report";       
        var reportlets ="[{reportlet: '1.cpt', p1: 'a'}]";  
        var config = {  
                url : printurl,  
                isPopUp : false,  
                data : {  
                        reportlets: reportlets  //将参数放到data里面传到指定的URL中
                    }  
        };FR.doURLPDFPrint(config);

    post 传参传递的参数是看不到的,保密性比较好。

    注1:10.0设计器和部署包使用的都是 openjdk,而使用 openjdk 无法启动 flash 打印,但使用 Oracle/sun jdk 可以。

    注2:flash 打印目前是已经被淘汰了的技术,很多浏览器都将不再支持 flash 打印,建议客户使用零客户端或本地打印。

    3. 长度比较

    通过参数传递的方式不同,我们可以看到通过 get 方式传参,其 URL 的长度会远远长于 post 方式,这就意味着,get 传递参数其长度有限制,如果超过 URL 限定的长度大小,则无法进行数据传递,但是 post 方式却没有这方面的限制,其 URL 的长度是固定的,并没有随着参数的增加而变长。


    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持