0

バックグラウンド プロセスのステータスをポーリングしています。:statusHTML5 data 属性を使用して、バックグラウンド プロセスの (モデル属性) を js ポーリング関数に渡そうとしています。バックグラウンド ジョブが終了すると、ステータスは正常に更新されますが、私の JavaScript は更新されたステータスを取得していません。

<div class="report" data-report-id="<%= @report.id %>" data-report-completed="<%= @report.completed? %>">
  <% if @report.completed? %>

@report.completed?メソッドが正しく機能することは確かです。これが私のjavascriptです。属性にアクセスしてdata-report-completedも、更新されたステータスが返されません。

$(document).ready(function() {
  if ($(".report-loading").length > 0) {
    showActivityIndicator();
    console.log("Loading...");
    setTimeout(checkReportStatus, 3000);
  }
});

function checkReportStatus() {
  var report_completed = $(".report").attr("data-report-completed");
  if (report_completed == true) {
    console.log("Completed");
    var report_id = $(".report").attr("data-report-id");
    location.reload();
  }
  else {
    console.log("In progress...");
    setTimeout(checkReportStatus, 3000);
  }
}
4

1 に答える 1