如何在不使用表单的情况下从rails app发布到外部URL

时间:2015-04-23 07:23:47

标签: ruby-on-rails ajax payment-gateway

我可以使用html表单发布到我的支付网关。但我有了新的要求。现在,点击"付款"按钮,我必须验证项目是否仍然可以购买,如果可用,然后自动将付款表格发布到网关。

所以说,我想在按钮点击时执行一些rails控制器代码,然后如果验证成功,则想要使用params重定向到外部URL(支付网关)。

我看过,在rails中使用redirect_to是不可能的。也不可能使用ajax发布到外部URL。我应该如何实现它?

1 个答案:

答案 0 :(得分:7)

您可以像这样使用Ruby的Net::HTTP

require "net/http"
require "uri"

uri = URI.parse("http://example.com/search")
params = {"foo" => "value one", "bar" => "value two"}


# Shortcut way
response = Net::HTTP.post_form(uri, params)


# With more control
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(params)
response = http.request(request)


puts response.code             # => 200
puts response.body             # => The body (HTML, JSON, etc)