javascript - 向 Rails Controller 发送 AJAX 请求,然后向外部服务发送 HTTParty,后者将 JSON 返回到 .html.erb 文件中的输出

标签 javascript jquery ruby-on-rails ajax

我正在尝试向我的 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/

相关文章:

javascript - EmberJs,可以对多个 View 执行一个操作吗?如何从列表项获取 ListView ?

javascript - 当 readonly=true 时,为什么使用 Javascript 分配给 Primefaces inputText 小部件的值不会发送到服务器?

javascript - iFrame 中的 SelectionContext - 访问属性 ‘getSelection’ 的权限被拒绝

javascript - jquery click 事件交换文本在第一次点击时不触发但在之后工作

javascript - $.each() jQuery 新闻源

ruby-on-rails - Tire找不到部分单词(在2个字段中搜索)

ruby-on-rails - 使用 Rails 从 IP 存储 session 地理定位结果的最佳方法是什么?

javascript - 在 mongodb 的数组中使用 $gt 运算符更新多个对象

jquery - 突出显示 html 表格中的行?

ruby-on-rails - 如何使用 angularjs 和 rails/devise 更新密码?