ajax获取数据

This commit is contained in:
huang 2017-03-23 15:07:23 +08:00
parent c8c3b6188c
commit 00b3a7c4fb
4 changed files with 40 additions and 25 deletions

View File

@ -20,8 +20,13 @@ class GamesController < ApplicationController
def show
@git_url = git_repository_url(@myshixun, "Myshixun")
@entries = @repository.entries(@path, @rev)
@latest_output = @game.latest_output
@outputs = @game.outputs
@latest_output = @game.latest_output.try(:out_put)
outputs = @game.outputs
if outputs.count == 0
@results = []
else
@results = outputs.map{|result| [result.code, result.id]}
end
respond_to do |format|
format.html
format.js
@ -82,20 +87,19 @@ class GamesController < ApplicationController
params = {:jobName => "#{jobName}", :taskId => "#{taskId}", :step => "#{step}", :gitUrl => "#{gitUrl}"}
uri = URI.parse("http://123.59.135.74:9999/jenkins-exec/api/buildJob")
res = uri_exec uri, params
@outputs = @game.outputs
render :json => {data:"success"}
end
def game_status
@outputs = @game.outputs
@latest_output = @game.latest_output.try(:out_put)
# if @game.status == 1 || @game.status == 1
#
# else
#
# end
render :json => {status: @game.status}
outputs = @game.outputs
if outputs.count == 0
outputs = ""
else
outputs = outputs.map{|result| [result.code, result.id]}
end
latest_output = @game.latest_output.try(:out_put)
render :json => {status: @game.status, output: latest_output, results: outputs}
end
# 自动推送下一个任务

View File

@ -1,3 +1,4 @@
class Output < ActiveRecord::Base
# attr_accessible :title, :body
default_scope :order => 'created_at desc'
end

View File

@ -31,15 +31,24 @@
</div>
</div>
<div class="content-history-inner">
<% unless @outputs.blank? %>
<% @outputs.each do |output| %>
<div class="<%= output.code == 0 ? 'clearfix history-success mb10' : 'clearfix history-fail mb10' %>">
<span class="<%= output.code == 0 ? 'icon-success fl mr5' : 'icon-fail fl mr5' %>">2</span>
<p class="fl"><%= output.code == 0 ? '恭喜,您已经完成了本任务!' : '错误结果!' %></p>
<%= link_to "详情", outputs_show_myshixun_game_path(@game, :myshixun_id => @myshixun, :game_output_id => output.id), :class => "fr mr10" %>
</div>
<% end %>
<% end %>
<!--<! if (results.length != 0) { !>-->
<! for(var i=0;i< results.length; i++) { !>
<! if(results[i][0] == 0){ !>
<div class="clearfix history-success mb10">
<span class="icon-success fl mr5">2</span>
<p class="fl">恭喜,您已经完成了本任务!</p>
<a href="/myshixuns/<%= @myshixun.id %>/games/<%= @game.id %>/outputs_show?game_output_id=<!= results[i][1] !>" class="fr mr10" >详情</a>
</div>
<! }else{ !>
<div class="clearfix history-fail mb10">
<span class="icon-fail fl mr5">1</span>
<p class="fl">错误结果!</p>
<a href="/myshixuns/<%= @myshixun.id %>/games/<%= @game.id %>/outputs_show?game_output_id=<!= results[i][1] !>" class="fr mr10" >详情</a>
</div>
<! } !>
<! } !>
<!--<! } !>-->
</div>
</div>
<div class="col-width fl content-output ml15 mt15">
@ -47,7 +56,7 @@
<h3 >测试输出</h3>
</div>
<div class="content-history-inner">
<%= @game.outputs.first.try(:out_put) %>
<!=output !>
</div>
</div>
<div class="col-width fl content-submit ml19 mt15">
@ -74,7 +83,7 @@
bt.LEFT_DELIMITER = '<!';
bt.RIGHT_DELIMITER = '!>';
$(function(){
var html = bt('t:exec_results',{status: <%= @game.status %>});
var html = bt('t:exec_results',{status: <%= @game.status %>, output:<%= @latest_output %>, results: <%= @results %>});
$("#code_results").html(html);
});
@ -91,10 +100,11 @@
data:'test',
success:function(data){
//如果查到了,就退出
console.log(html);
if(data.status == 2 || data.status == 0){
alert("进来了");
clearInterval(intId);
var html = bt('t:exec_results',{status: data.status});
var html = bt('t:exec_results',{status: data.status, output: data.output, results: data.results});
console.log(html);
$("#code_results").html(html);
}

View File

@ -1 +1 @@
$("#code_results").html('<%= escape_javascript(render :partial => 'games/exec_results') %>');
//$("#code_results").html('<%= escape_javascript(render :partial => 'games/exec_results') %>');