404 не найден после клонирования http-запроса в http-перехватчике - PullRequest
0 голосов
/ 11 октября 2018

Я занимаюсь разработкой углового приложения и пытаюсь решить проблему кеширования IE. Web Api разработан в ядре dot net. Из многих статей я обнаружил, что проблему можно решить, добавив кеш в заголовок http-запроса.Вот что у меня есть

const clonedReq = req.clone({
  headers: new HttpHeaders({
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache'
  })
});

Но как только я использую приведенный выше код, все API выдает ошибки с ошибкой 404.

Ниже приведены захваченные http-запросы в инструменте разработчика

Accept: */*

Accept-Encoding: gzip, deflate, br Accept-Language: en-US, en; q = 0.9 Access-Control-Request-Headers: управление кэш-доступом Access-Control-Request-Method: GET Соединение:keep-alive Хост: localhost: 4900 Происхождение: http://localhost:6521

1 Ответ

0 голосов
/ 11 октября 2018

Если у вас есть запрос на получение без какого-либо токена авторизации, откройте вкладку вставки URL-адреса в браузере и проверьте, получаете ли вы результат.

У вас может быть одна следующая проблема - 1. Запрашиваемый вами APIневерный URL 2. Запрошенный API не реализован или недоступен.

Почему вы используете два заголовка в клоне HTTP?

const clonedReq = req.clone({
  headers: req.headers.set('Cache-Control','no-cache') . // Header 1
  headers: new HttpHeaders({                             // Header 2
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache',
    'Pragma' : 'no-cache' //IE Ajax cache
  })
});
...