How to redirect web page from a specfic page in Sinatra?(如何从Sinatra中的特定页面重定向网页?)
本文介绍了如何从Sinatra中的特定页面重定向网页?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Sinatra中,如何从特定页面重定向网页?
require 'sinatra'
get "/A" do
redirect '/B'
end
get "/B" do
# if comes from A
# "IT COMES FROM A"
# else not from A
# "NOT FROM A , REDIRECT TO C"
# redirect '/C'
# end
end
我想学习如何执行此操作?
我可以使用JavaScript或HTML来做我想做的事情吗?
或者,必须在Sinatra完成?
我试过了,但仍然为空
get "/B" do
mypath = URI(request.referer || '').path
if mypath == '/A'
"hi i am b , u come from a"
else
"--#{request.referrer}--"
redirect '/C'
end
end
推荐答案
Http Referrer信息可通过:
request.referrer
但如果它是由服务器发起的重定向,则不能算作对目标页面的引用。简而言之:
如果/A因为服务器告诉客户端页面已移动(状态302)而重定向到/B,则引用人不是/A,而是链接到/A的页面;如果直接请求/A,则不是链接到/A的页面。
回答这个问题:您必须使用客户端重定向来实现您的想法。JavaScript可以做到这一点(放在/A上):
<script type="text/javascript">window.location = '/B';</script>
这篇关于如何从Sinatra中的特定页面重定向网页?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何从Sinatra中的特定页面重定向网页?


猜你喜欢
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Flexslider 箭头未正确显示 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 400或500级别的HTTP响应 2022-01-01