【问题标题】:How to hide params of url in Sinatra如何在 Sinatra 中隐藏 url 的参数
【发布时间】:2013-02-02 02:27:50
【问题描述】:

我有一个 Sinatra 网络应用程序。

这样的网址:

http://test.com:9393/signup? username=&email=liubei@test.com&nickname=&gender=&birthday=&password=123456&password_confirmation=123456

如何删除url中的参数。使浏览器中的url为: http://test.com:9393/signup

也可以获取参数

【问题讨论】:

    标签: ruby url sinatra


    【解决方案1】:

    你不能只是隐藏他们。

    您需要在这里使用POST 请求而不是GET 一个。 GET 请求总是在查询字符串中发送它们的参数。

    【讨论】:

    • 但是,在 Rails 中,没有那个条件。我发布了一个请求,有一些错误,所以 url 更改为那个。
    • 您能否提供更多信息?这里没有关于 sinatra、rails 甚至 ruby​​ 的内容:它是关于 HTTP 协议的。从您的问题来看,您使用 GET 请求注册方法,这是错误的:您应该使用 POST 请求。
    • @MarioDu Roman 是对的,请参阅blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post。如果您在 Rails 中没有遇到这个问题,那是因为某些设置不同导致请求成为 POST,这与框架无关。如果您在表单中遇到这种情况,请确保 method 属性设置为“POST”。
    • 这是一个注册动作,方法是post,但是表单数据有问题,所以注册失败,第一个url是原始表单页面,并且有flash,告诉用户错误,是一个get方法。据我所知,在Rails中,url不喜欢这样,怎么处理?
    • @roman.brodetski ,@iain,例如Redmine,一个项目管理应用。在登录页面,如果输入错误的密码或用户名,它会告诉你错误,但url不会改变,它使用ajax?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多