我有一个获取请求,该请求检索在页面上显示图形所需的 JSON。我会在 JQuery 中执行此操作,但由于我正在使用 API,这是不可能的——所以我必须在 rails 中执行此操作。
我想知道:如果我在页面操作中的单独线程上运行 get 请求,那么该变量是否可以在页面加载后传递给 javascript?我不确定线程在导轨中是如何工作的。
像这样的工作:
Thread.new do
url = URI.parse("http://api.steampowered.com/IDOTAMatch_570/GetMatchHistory/v001/?key=#{ENV['STEAM_WEB_API_KEY']}&account_id=#{id}&matches_requested=25&game_mode=1234516&format=json")
res = Net::HTTP::get(url)
matchlist = JSON.parse(res)
matches = []
if matchlist['result'] == 1 then
matchlist['result']['matches'].each do |match|
matches.push(GetMatchWin(match['match_id']))
end
end
def GetMatchWin(match_id, id)
match_data = matchlist["result"]["matches"].select {|m| m["match_id"] == match_id}
end
end
end
鉴于上面的代码在一个帮助文件中,然后它在控制器的操作中被调用,如下所示:
def index
if not session.key?(:current_user) then
redirect_to root_path
else
gon.winlossdata = GetMatchHistoryRawData(session[:current_user][:uid32])
end
end
“gon”部分只是将数据传递给javascript的宝石。