У меня есть вызов ajax, который предназначен для запроса очереди отчета, а затем с помощью этого идентификатора снова запрашивает отчет и возвращает JSON.Этот код работает:
$(document).ready(function(){
$("#r2").click(function(){
$('#loading').show();
$.ajax({
url: "report.php",
dataType: 'json',
data: {
type: 'queue',
ref: 2
},
success: function(result){
console.log(result.reportID);
setTimeout(function(){
console.log("Go");
$.ajax({
url: "report.php",
dataType: 'json',
data: {
type: 'get',
ref: result.reportID
},
success: function(result){
console.log(result);
$('#loading').hide();
$('#output2').html(result.report.totals);
}
});
},1000);
}});
});
});
Иногда, однако, отчет не готов, и в этом случае мы получаем этот ответ в JSON вместо result.report.totals
{error: "report_not_ready", error_description: "Report not ready", error_uri: null}
Итак,я пытаюсь снова попробовать этот бит кода с тем же result.reportID:
success: function(result){
console.log(result.reportID);
setTimeout(function(){
console.log("Go");
$.ajax({
url: "report.php",
dataType: 'json',
data: {
type: 'get',
ref: result.reportID
},
success: function(result){
console.log(result);
$('#loading').hide();
$('#output2').html(result.report.totals);
}
});
},1000);
}});
Моя попытка заключается в следующем:
success: function(result){
if (result.report.error == "report_not_ready") {
// RERUN THE SUCCESS FUNCTION
}
// OTHERWISE OUTPUT THE TOTAL
$('#output2').html(result.report.totals);
}
Как я могупопросить его вернуться через функцию успеха, чтобы повторить запрос отчета?