ruby-on-rails - 如何在不使用表单的情况下从 Rails 应用程序发布到外部 url

标签 ruby-on-rails ajax payment-gateway

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

也就是说,我想在单击按钮时执行一些 Rails Controller 代码,然后如果验证成功,则希望使用参数重定向到外部 URL(支付网关)。

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

最佳答案

您可以使用 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)

关于ruby-on-rails - 如何在不使用表单的情况下从 Rails 应用程序发布到外部 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29816455/

相关文章:

ruby-on-rails - 当您不想使用图像标签时如何获取 Rails 图像路径

java - Android ccavenue支付网关集成

c# - NopCommerce:如何在订单详情页面显示额外信息?

ruby-on-rails - rails : Puma server 3 not showing database queries in development

ruby-on-rails - 如何在没有 ActiveRecord 的情况下在 Redis 和 Ohm 上使用表单?

ruby-on-rails - 'fields' 和 'types' 是否允许用于 rails postgresql 表的名称?

javascript - 对于两次不同的按钮点击,从 Ajax 调用的 MVC 操作方法中获取不同的数据

asp.net-mvc - Internet Explorer缓存asp.net MVC Ajax结果

javascript - Ajax 禁用 Rails 中的 jQuery 插件

php - 网站使用什么支付系统?