通过js拼接URL过长,打开弹窗时报错400

var url="/webroot/decision/view/report?viewlet=XXX.cpt&s0="+a+"&zqty="+b+"&cusx="+c+"&conx="+d+"";

var url = FR.cjkEncode(url);

//窗体

var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>");

//将窗体的src属性设置为模板路径

$iframe.attr("src", url);

FineReport 九日 发布于 2022-11-3 13:34
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-11-3 13:36

改成这样?

var url="/webroot/decision/view/report?viewlet=XXX.cpt&s0="+a+"&zqty="+b+"&cusx="+c+"&conx="+d;

var url = FR.cjkEncode(url);

//窗体

var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>");

//将窗体的src属性设置为模板路径

$iframe.attr("src", url);

  • 九日 九日(提问者) 只把参数d的双引号去掉?
    2022-11-03 13:42 
  • CD20160914 CD20160914 回复 九日(提问者) 你测试看是否可以。。我不知道你上面的还有其它的语句是如何的。。
    2022-11-03 13:43 
  • 九日 九日(提问者) 回复 CD20160914 真的可以了,请问是什么原理呢,没看懂
    2022-11-03 14:01 
  • CD20160914 CD20160914 回复 九日(提问者) 你多了一个双绰号。。语法错误肯定不行呀。
    2022-11-03 14:02 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-11-3 13:36

var url="/webroot/decision/view/report?viewlet=XXX.cpt&s0="+"&zqty=&cusx="+c+"&conx="d;

最佳回答
0
congerLv6高级互助
发布于2022-11-3 13:45(编辑于 2022-11-3 13:46)

不用那么麻烦的,用这个可以直接打开弹窗

FR.showIframeDialog({

url: "${serverURL}/webroot/decision/view/report?viewlet=模板路径.frm&物料=参数", 

title: "弹窗标题", //设置左上角蓝色框的标题

width: 600,

height: 550

});

或者用模板字符串直接拼接,省掉引号拼接错误

https://blog.csdn.net/weixin_50993428/article/details/120995013

  • 4关注人数
  • 265浏览人数
  • 最后回答于:2022-11-3 13:46
    请选择关闭问题的原因
    确定 取消
    返回顶部