页面src 超链接后跟action路径作为参数,同时action需要传参的处理方法

本文探讨了在网页中通过iframe传递URL参数的方法,特别是针对多级参数的情况,并提供了两种解决方案:一是通过URL编码解决参数传递的问题;二是通过JS动态构建参数字符串并利用request.getQueryString()方法在后端获取。
页面<iframe src= 超链接后跟action路径作为参数,同时action需要传参时
多个问号?

http://127.0.0.1:8095/statics/js/viewer.html?file=/contractTemplateRepository/showpdf?filePath=ONE_DEV/697de26cf5b8411e9e6bb4a37e5e7fe5.pdf
执行不成功:可以获得filePath参数名称,但是值为空


方案1.
页面:http://127.0.0.1:8095/contractTemplateRepository/showpdf?filePath=ONE_DEV/697de26cf5b8411e9e6bb4a37e5e7fe5.pdf
URLEncode编码:为 
http%3A%2F%2Fxxxx.com%3A89%2Fdemo%2Ffileupdown%3Ffud%3D1%26rid%3D4%26iswe.pdf 
访问地址改成为: 
http://127.0.0.1:8095/statics/js/viewer.html?file=http%3A%2F%2Fxxxx.com%3A89%2Fdemo%2Ffileupdown%3Ffud%3D1%26rid%3D4%26isweb%3D1%26iswebshow%3D1%26dbid%3D01%26filepath%3Dfj_ob_item%2FY201809%2F11.pdf
 

action中,使用URLDecode解析,然后自行处理方案2.
调整为  
js中定义参数
var filePath=""
var iframeStr="<src='"+ path+"/statics/js/viewer.html?file=/contractTemplateRepository/showpdf?"+filePath+"'/>"
 后台action      使用request.getQueryString(); (getParam..都不好使) 直接获取到传入的字符串。。。
 如果需要多个参数,那么可以根据自己想法js中整理成一个字符串传递

 

在网页开发中,如果超链接没有使用绝对路径,可能会导致跳转失败,尤其是在不同层级的页面之间进行导航时。以下是几种解决方法,能够确保超链接在各种情况下都能正确跳转: ### 使用相对路径并确保路径正确性 相对路径是相对于当前 HTML 文件所在目录的路径。为了确保跳转成功,需要正确理解当前文件与目标文件之间的目录结构。例如: ```html <a href="../about.html">关于我们</a> ``` 这里的 `../` 表示返回上一级目录,适合用于页面嵌套在多个子目录中的情况。开发者需要确保相对路径的准确性,否则会导致 404 错误[^3]。 ### 使用绝对路径 绝对路径是从网站根目录开始的路径,以 `/` 开头,可以避免路径混乱的问题。例如: ```html <a href="/about.html">关于我们</a> ``` 这种方式适合大型网站,可以确保无论当前页面在哪个目录下,链接都能正确跳转到根目录下的目标页面。 ### 使用基础路径(Base URL) HTML 提供了 `<base>` 标签,可以在 `<head>` 部分定义一个基础路径,所有相对路径都会基于这个基础路径进行解析。例如: ```html <head> <base href="https://www.example.com/"> </head> <body> <a href="about.html">关于我们</a> </body> ``` 在这种情况下,`<a href="about.html">` 会被解析为 `https://www.example.com/about.html`。这种方式可以统一管理路径,特别适用于动态生成页面内容的网站。 ### 使用服务器端重定向 在某些情况下,可以通过服务器端配置来处理路径问题。例如,在 Apache 服务器中,可以使用 `.htaccess` 文件进行 URL 重写,将用户请求的路径映射到正确的文件位置。这种方法适用于复杂的网站结构,但需要一定的服务器配置知识。 ### 前端路由(适用于单页应用) 对于单页应用(SPA),可以使用前端路由技术,如 HTML5 的 `history.pushState()` 或前端框架(如 React Router、Vue Router)来管理路径。这些技术允许开发者定义自定义路径,并在客户端进行页面切换,而无需服务器端的额外配置。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值