Home  >  Article  >  Web Front-end  >  Introduction to the method of obtaining the parameters in the url and passing them to the report in the iframe

Introduction to the method of obtaining the parameters in the url and passing them to the report in the iframe

高洛峰
高洛峰Original
2017-03-16 11:22:092225browse

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:

Introduction to the method of obtaining the parameters in the url and passing them to the report in the iframe

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:

Introduction to the method of obtaining the parameters in the url and passing them to the report in the iframe

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn