.NET + Angular - IIS Server обновляет вкладку localhost в chrome, когда запрос сделан из fire fox - PullRequest
0 голосов
/ 08 октября 2018

Это странно.

У меня есть угловое приложение из проекта .NET MVC.Когда я делаю запрос к бэкэнду и завершаю ответ, страница обновляется.Это происходит только в Chrome.

Вот странные варианты, которые я вызвал:

1) Обслуживание приложения в Chrome, полный запрос, страница обновлений.

2) Обслуживание приложения в Chrome,открыть FF для localhost (чтобы одна и та же страница была открыта в двух браузерах), вызвать запрос в FF, запрос завершен.FF не перезапускается, но вкладка Chrome делает.

3) Служите приложение в FF, запрос не обновляет страницу.Откройте chrome для localhost, сделайте запрос из FF или Chrome, страница обновится.

При попадании файла .NET-маршрут просто отвечает JsonResult.Это происходит последовательно после того, как завершенный запрос попадает в подписку.Вот некоторый соответствующий код:

// component
this.myService.uploadFile(formGroup, this.Id).subscribe(result => 
{
  console.log(result);
});

// service
public uploadFile(form: FormGroup, id: number) {
  const options = {
    reportProgress: true,
  };
  const file: File = form.get('file').value;
  const formData = new FormData();
  formData.append('File', file, file.name);
  formData.append('Id', id.toString());

  const request = new HttpRequest('POST', '/file', formData, options);
  return this.http.request(request)
    .pipe<HttpEvent<any>>(
      map((event) => {
      return this.updateProgress(event, form);
     }),
     last()
  );
 }

Я использую этот точно такой же формат в другом месте приложения для другого компонента загрузки файлов, который имеет другие требования, и у меня нет проблем.

Я знаю только достаточно.NET быть опасным, и я в первую очередь разработчик SPA.Если вам нужна дополнительная информация о конфигурации .NET, просто спросите.Мне бы очень хотелось отследить это.

ОБНОВЛЕНИЕ: я обнаружил эту проблему GitHub , которая описывает подобное событие только в Chrome.Я добавил return false и $event.preventDefault() как в конец функции upload() (которая вызывается событием (click) в шаблоне), так и в конце области подписки.

Я потерян.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...