Это похоже на этот вопрос Make jquery jqxhr act like already sending request, но это, похоже, не решает мою проблему.Как обмануть jqXHR для разрешения с использованием локальных данных?
Я использую фреймворк, где есть много запросов, выполненных с использованием jQuery ajax-методов, и я должен зацепиться посреди этого (но не касаясь исходного кода), чтобы эмулировать некоторые ответы с сервера.
С ajaxSend Я могу обнаружить каждый раз, когда отправляется запрос, поэтому в тот момент я знаю, какие из них я хочу остановить и предоставить свой предварительно вычисленный ответ, но я не могу найти способ сделать это. Одной из возможных альтернатив для глубокого уровня было бы игнорировать jQuery и перейти к Service Worker, но это ограничило бы браузеры, где это будет работать, и это может означать также добавленную сложность для логики о заранее вычисленных ответах, поэтому я хотел бы остаться с Решение jQuery.
Для начала я был бы рад сделать первый шаг, просто чтобы остановить запрос от касания сети, но хотя я пытался остановить событие, xhr всегда выполняется.
$(document).ajaxSend(function(event, request, settings) {
console.log(request)
event.preventDefault()
event.stopPropagation()
return false;
}
Тогда следующий шаг (или может это это один) использует объект запроса разрешить обещание, но это не метод «Определять», так что я думаю, что это restricted Promise
Может ли кто-нибудь помочь мне найти решение?
Я думаю, вам нужно украсить (переписать) '$ .ajax'. – Bergi