When using report software, there is usually a directory tree on the left side of the user system. Clicking on the report node will display the report in the iframe on the right page, and it will also be passed when clicked. Some parameters are given to the web page, such as time and user information. How to enable the report in the web page to obtain the passed parameters? The following is a brief introduction using the reporting software FineReport.
Specific implementation process
When generating the report page, add onload# to the web page ##Event, first obtain the parameters in the url, and then graft them onto the src of the iframe, or assign the complete report url to the src of the iframe through the splicing of the obtained parameters.
<html> <head> <title>FineReport Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script> <script type="text/javascript"> function autoLoad(){ //返回从问号 (?) 开始的 URL(查询部分) var paraString = location.search; //多个参数用&分隔,将参数字符串转为数组,使每个参数值存于一个数组元素中 var paras = paraString.split("&"); //每个数组元素中"="后面的值即参数值 var reportName = paras[0].substr(paras[0].indexOf("=") + 1); var area = paras[1].substr(paras[1].indexOf("=") + 1); var province = paras[2].substr(paras[2].indexOf("=") + 1); var city = paras[3].substr(paras[3].indexOf("=") + 1); //使用获取的参数值拼接出最终的url var reportURL = "/WebReport/ReportServer?reportlet=" + reportName + "&area=" + area + "&province=" + province + "&city=" + city; //url中可能包含中文或特殊字符因此需要进行编码转换,注意需要先引入finereport.js reportURL = FR.cjkEncode(reportURL); //将新的报表路径赋给报表所在iframe的src document.getElementById("reportFrame").src = reportURL; } //加载网页时调用autoLoad方法 window.onload = autoLoad; </script> </head> <body> <iframe id="reportFrame" width="900" height="400"></iframe> </body> </html>
Save the code as geturlpara.html in the page_demo folder under the project.
Log in to the decision-making platform as an administrator, click Management System > Report Management, click Add Link, the link path is: page_demo/geturlpara.html?report=doc/Parameter/MultiValue/MultiValue .cpt&area=East China&province=Jiangsu&city=Wuxi, the name is: The url parameter is passed to the report in the iframe, as shown below:
Refresh fs like this, and you can see that there is an additional node in the directory tree on the left. After clicking on the node, the report, including the parameters passed to the web page, can be displayed in the iframe on the right web page. .
Effect view
As shown below, click on the "url parameters are passed to the report in the iframe" node on the left , that is, open the corresponding link, and the corresponding web page will be displayed in the middle area:
The above is the detailed content of Introduction to the method of obtaining the parameters in the url and passing them to the report in the iframe. For more information, please follow other related articles on the PHP Chinese website!