Думаю, что упускаю что-то важное, но не могу понять что.
Если я начну обрабатывать запрос с помощью «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);
});
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... -typeerror