Как заблокировать указанный вызов c ajax по его URL? - PullRequest
0 голосов
/ 01 апреля 2020

Можно ли заблокировать вызов ajax по его URL-адресу из другого файла сценария / js? Я хочу что-то подобное ..

if(ajax_url == 'if_URL_match_then_block_this_ajax_call'){
   //block lower ajax call
}

$.ajax({
    type: "GET",
    url: 'if_URL_match_then_block_this_ajax_call',
    data: {},
    success: function(e) {
      //some event after success...
    }
});

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Наконец я нашел ответ. Я могу заблокировать указанный c URL, когда ajax вызов начинает отправку запроса.

$(document).ajaxSend(function(event, xhr, options) {
  if(options.url == 'if_URL_match_then_block_this_ajax_call'){
    console.log('ajax call abort');
    console.log(event, xhr, options);
    xhr.abort();
  }
});

Ссылка: https://api.jquery.com/ajaxSend/

0 голосов
/ 01 апреля 2020

Сложно сказать по фрагменту кода, но если этот код находится внутри функции, вы можете выйти из функции раньше, если обнаружите URL, для которого вы не хотите отправлять запрос.

function get(url) {
  if(url === '/some/url/to/block'){
    return;
  }

  $.ajax({
    type: "GET",
    url,
    data: {},
    success: function(e) {
      //some event after success...
    }
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...