通过POST将参数传递到iframe中的SSRS时出错
Error when passing parameters to SSRS in an iframe via POST
我正在尝试创建一个简单的概念验证应用程序,该应用程序使用自定义界面进行参数选择,然后将这些参数传递到SharePoint 2010上托管的SSRS报告。我希望报告在同一页上,所以我把它放在<IFRAME>
中。对于这个POC,我所做的就是通过一个简单的文本字段收集一个项目UPC——最终我会使用一些JavaScript代码来做一些更花哨的事情,比如验证,但现在我只想让参数传递生效。(我知道我可以通过将其作为.NET应用程序编写并使用报表查看器控件来实现这一点,但我希望尽可能避免任何托管代码,以使事情变得更简单。)
如果我在查询字符串中使用UPC参数动态构建一个URL,并设置<IFRAME>
的src
属性,那么一切都很好。但是,我更喜欢使用POST,这样我就可以避免URL过长的问题。基于这个SO问题,这里是我的代码:
function generateReport() {
var frame = $("#report-viewer"),
URL = $("#URL-field").val();
var form = $('<form method="post" target="report-viewer" action="http://pigcentral/_vti_bin/reportserver?http://[link to report .rdl]"></form>');
form.append('<input type="hidden" name="rs:Command" value="Render" />');
form.append('<input type="hidden" name="rc:LinkTarget" value="main" />');
form.append('<input type="hidden" name="rs:Format" value="HTML4.0" />');
form.append('<input type="hidden" name="rs:Parameters" value="false" />');
var URLField = $('<input type="hidden" name="URL" />');
URLField.val(URL);
form.append(URLField);
$("#hidden-form").append(form);
form.submit();
$("#hidden-form").empty();
frame.show();
}
当我触发POST时,报告查看器显示在<IFRAME>
中,但有一条错误消息:
错误:有关此错误的详细信息,请导航到本地服务器计算机上的报表服务器,或启用远程错误。
我为报告所在的网站(恰好也是我托管此页面的网站)打开了远程错误,但没有得到任何进一步的信息。
有人知道为什么这不起作用,或者至少我可以去哪里获得更多关于错误的信息吗?谢谢
这很酷,从来没有想过这样做。从未尝试过将javascript转换为html,但我知道我在一本书中有一个例子,在表单中使用了"select"元素,其中包含"option"元素。html结构可能存在问题。你能先手动创建HTML,然后在编写javascript之前进行尝试,并确保它按设计工作吗?
我知道我在实验室里尝试过,它确实改变了价值观。我想你可以用javascript生成html并执行它,但我不确定。我从Brian Larson的《Microsoft SQL Server 2008 Reporting Services》一书中获得了这本书,节略:
< form id="frmRender" action=" (link to report location on reportservice)" method="post" target="self">
< select ID="rs:Format" Name="rs:Format" size=1>
< option value="HTML4.0">HTML 4</option>
< option value="Image">TIff Image</option>
< /select>
< /form>
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如何更改bigquery API中的计费层选项
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- SSRS:操作“转到 URL”在应用于矩阵中的数据单元格后不起作用
- 如何从Iframe打开SSRS报告中的链接
- 通过POST将参数传递到iframe中的SSRS时出错
- Iframe中的SSRS没有打开弹出
- 报告服务-SSRS中的Javascript没有正确处理数字符号