У меня следующий код на стороне клиента:
fetch("/music/index", { headers: { "Content-Type": "application/json" } })
.then(response => {
if (!response.ok) {
throw response;
}
return response.json();
})
.then(json => {
console.log("Done! It's all good");
})
.catch(response => console.log(response));
К сожалению, он даже не достигает MusicController
(на стороне сервера), который выглядит следующим образом (упрощенно для иллюстрацииточка):
[Authorize]
public class MusicController : Controller {
public async Task<IActionResult> Index() {
IEnumerable<Song> songs = await _songsRepository.GetAll();
return Json(songs);
}
}
Из того, что я вижу в консоли разработчика, меня перенаправляют на /Account/Login?returnUrl...
Между тем, используя jquery api, кажется, все работает нормально:
$.get("/music/index")
.done(json => console.log("Done! It's all good"))
.fail(error => console.log(error));
У меня есть подозрение, что я не правильно устанавливаю заголовки?Не уверен, что ничего не нашел в сети.Также этот (или, скорее, очень похожий) код, используемый для работы в предыдущих (не Core) версиях ASP.NET.