历史版本1 :[老]post传参和get传参 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

1. 描述编辑

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

2. 参数传递方式编辑

  • get传参
get传参方式是将参数以参数1=参数值1&参数2=参数值2这种形式拼接在URL后面进行传递的,比如说,使用js调用Flash打印一张模板,同时传递2个参数到该模板中,那么其get方式传参打印的url代码为:
HTML/XML代码
http://localhost:8075/WebReport/ReportServer?reportlet=report.cpt&p1=a&p2=b  
js调用FR打印方法的完整代码为:
HTML/XML代码
var url="http://localhost:8075/WebReport/ReportServer?reportlet=report.cpt&p1=a&p2=b";  
var isPopUp = false;  
var config = {url : url,isPopUp : isPopUp}  
FR.doURLPDFPrint(config);  
  • post传参
post传参方式是将参数作为http请求的内容,发送到指定的URL中去,并不是拼接在URL中的,其URL如下代码:
HTML/XML代码
http://localhost:8077/TestCase/ReportServer  
参数会通过一个专门的格式传递过去,完整代码如下:
HTML/XML代码
var printurl="http://localhost:8077/TestCase/ReportServer";         
var reportlets ="[{reportlet: '1.cpt', p1: 'a'}]";    
var config = {    
        url : printurl,    
        isPopUp : false,    
        data : {    
                reportlets: reportlets  //将参数放到data里面传到指定的URL中  
            }    
};    
 FR.doURLPDFPrint(config);    
post传参传递的参数是看不到的,保密性比较好。

3. 长度比较编辑

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