Как остановить setInterval в javascript?
Лучше не интервалом, а при разборе ответа, если ok не 1, то setTimeout()
function checkResult() {
  const data = {
    hash: hash,
  }

  $.ajax({
    url: 'result.php',
    dataType: "json",
    data: data,
    success: (result) => {
      const ok = result.ok;
      if (ok != 1) {
        // перезвоните через секунду
        setTimeout(checkResult, 1000);
      }
    },
    error: (response) => { // Данные не отправлены
      $('#result_form').html('Ошибка. Данные не отправлены.');
    }
  });
}

checkResult();
Записываешь setInterval в переменную, о очищаешь через clearInterval

https://learn.javascript.ru/settimeout-setinterval