Неожиданный конец потока при вызове контроллера с параметрами и только в IE11 - PullRequest
0 голосов
/ 24 сентября 2018

Я испытываю самую странную проблему в моем VueJS SPA.

При вызове метода моего контроллера с помощью axios, для которого требуется параметр GET, IE11 всегда заканчивается 500-ответным ответом.

Но при его вызове точно таким же образом, с тем же кодом в Chrome или Firefox, проблем не возникает.

Другая странная вещь, когда я удаляю требование к параметру и жестко кодирую идентификатор, это работаетштраф.

Мой метод управления:

[HttpGet]
public IActionResult _method(int id)
{
  var data = methodsThatReturnsData(id);
  return JsonDataResponse(data);
}

Полная ошибка от asp.net

IOException: Unexpected end of Stream, the content may have already been read by another component.
    Microsoft.AspNetCore.WebUtilities.MultipartReaderStream.ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)

1 Ответ

0 голосов
/ 24 сентября 2018

Обнаружил виновника!

По-видимому, IE11 не нравится, когда вы добавляете параметры данных в вызовах GET.

Он добавляет content-type в заголовок, в отличие от других браузеров.и ASP.net это не нравится

Пример:

axios({
  method: options.type,
  url: options.url,
  headers: {
    'X-Requested-With': 'XMLHttpRequest'
  },
  data: options.data, <-- Works when removing this for get calls
  params: options.params
})
...