我正在尝试向我的 Rails Controller 发送 AJAX 响应,然后该 Controller 将向外部服务发送 HTTParty 请求。我这样做是因为如果我直接从 JS 发送 AJAX 请求,就会出现 CORS 问题。在 HTTParty 之后,我需要接收它返回的 JSON 并将其输出到 .html.erb 文件中。这看起来很复杂,但我只需要一点帮助来实现其功能;
我们首先通过执行以下操作将 AJAX 请求发送到 Rails 后端。
$.ajax({
url: "/gametitle",
type: "post",
data : {title: gametitle}
});
发送的数据类似于 {"title": "AC3"}
这个 AJAX 请求将转到如下所示的路由文件:
match '/gametitle' => 'loadtests#gametitle_post', via: :post
该路由随后会将其发送到负载测试 Controller 的 gametitle_post 方法。如下所示:
def gametitle_post
@gametitle = params[:title]
HTTParty.post("http://supersecret.com/loadtests",
:query => { :title => @gametitle })
render nothing: true
end
这意味着接收 AJAX 请求,存储发送的参数,然后发送 HTTParty 请求以接收 JSON。但这就是我目前陷入困境的地方。每当我尝试输出 @gametitle
中的变量时通过console.log('<%= @gametitle %>
它是一个空字符串。
感谢您为我解决此问题提供的任何帮助。
最佳答案
def gametitle_post
@gametitle = params[:title]
@some_variable = HTTParty.post("http://supersecret.com/loadtests",
:query => { :title => @gametitle })
//Access @some_variable in your view
return
end
关于javascript - 向 Rails Controller 发送 AJAX 请求,然后向外部服务发送 HTTParty,后者将 JSON 返回到 .html.erb 文件中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925253/