有什么不对劲。我有一个 get 端点,它接受一些参数,做一些事情然后重定向到'/'。Sinatra 在调用之前生成的响应看起来不错(正确的 'location' 标头和正确的 url)。问题是,浏览器尽管重定向到“/”,但仍将前一个请求中的参数附加到 url。这意味着,如果我刷新,它会失败。有人可以告诉我到底发生了什么吗?我认为问题出在 Sinatra,但也可能与浏览器有关。
编辑:
get '/connect' do
puts params[:code]
redirect to('/')
end
这是路线。基本上,它是某个 oauth 服务提供商的 oauth 工作流的重定向端点。我最终没有被重定向到“/”,而是被重定向到“/#code=blablabla”,这意味着来自我的 oauth 端点的查询参数将作为散列参数传递给后续重定向。