Asp net core вызывает ошибку Fetch: TypeErrorC#

Место общения программистов C#
Anonymous
Asp net core вызывает ошибку Fetch: TypeError

Сообщение Anonymous »

Я пишу приложение на ядре asp net с помощью Razor Pages. Я долго думал о том, как обрабатывать POST-запросы (OnPost в бритвенных страницах), прочитав эту страницу "https://learn.microsoft.com/ru-ru/aspne ... aspnetcore" -8.0", добавляю безопасный токен для js и начинаю обрабатывать POST-запросы, но теперь ответ от сервера вызывает ошибку Fetch: TypeError.
Думаю, что упускаю что-то важное, но не могу понять что.
Если я начну обрабатывать запрос с помощью «app.Map», все будет работать без проблем.
UDP1: запись FireFox — заголовок Content-Length сетевого ответа превышает тело ответа.
Как я могу исправить это в своем коде?
UDP2: Интересно, что заголовки одинаковы и не содержат Content-Length, если я использую app.Map, это работает, но если я использую страница бритвы - исключение.
Headers:
{ "content-type" - "application/json; charset=utf-8", date - "понедельник, 8 июля 2024 г. 04" :22:46 GMT", сервер - "Кестрел", "x-firefox-spdy" - "h2"
Мой рабочий код:

Код: Выделить всё

app.Map("/FormResult/GetRes", HandleMapFormRes);

static void HandleMapFormRes(IApplicationBuilder app)
{
string text = string.Empty;
app.Run(async context =>
{

if (context.Request.Method == "POST")
{
try
{
/* .......
.......
.......
....... */

JsonFormToClient jsonFormToClient = new JsonFormToClient();
jsonFormToClient.Blockinfo = results;
jsonFormToClient.CountOfBlocks = c;
string ResponceJson = JsonConvert.SerializeObject(jsonFormToClient);

await context.Response.WriteAsJsonAsync(ResponceJson);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

});
}

Код: Выделить всё

function drawChart(pathToPage,token) {
var htmlContent = pathToPage;
var formData = new FormData();
formData.append('htmlContent', htmlContent);
fetch(pathToPage, {
method: 'POST',
body: formData,
headers: {
"X-XSRF-TOKEN": token
},
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
var a = response.json();
return a;
})
.then(jsonData => {
a = JSON.parse(jsonData);

for (let i = 0; i < a.CountOfBlocks; i++) {
AddNewBlock(a.Blockinfo[i].Id_in_html);
drawnow(a.Blockinfo[i]);
}
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
Если я обработаю это с помощью Razor Page (OnPost), ответ прервется

Подробнее здесь: https://stackoverflow.com/questions/787 ... -typeerror

Вернуться в «C#»