Мой собственный бэкенд отправляет два объекта вместо одного в http-ответе?
У меня есть бэкенд на django, который должен посылать мне данные, но вместо одного объекта я получаю два объекта (внутри http-ответа). Самое странное в этом то, что это происходит не всегда, иногда только один, а иногда два... Вот как выглядит ответ (в сетевой аналитике):
Первый объект должен быть там, а второй нет... Вот мое представление бэкенда:
@api_view(["POST"])
def home(request):
body_unicode = request.body.decode('utf-8')
body = json.loads(body_unicode)
result = body["Result"]
isItRight = body["wichOnesRight"]
ip_adress = get_client_ip(request)
queryset = Lead.objects.all()
if Lead.objects.all().exists():
currentValues = updateDigits()
queryset.update(
sumScore = result + currentValues[9],
sumRequests = 1 + currentValues[10],
buttonOne = currentValues[0] + isItRight[0],
buttonTwo = currentValues[1] + isItRight[1],
buttonThree = currentValues[2] + isItRight[2],
buttonFour = currentValues[3] + isItRight[3],
buttonFive = currentValues[4] + isItRight[4],
buttonSix = currentValues[5] + isItRight[5],
buttonSeven = currentValues[6] + isItRight[6],
buttonEight = currentValues[7] + isItRight[7],
buttonNine = currentValues[8] + isItRight[8],
)
currentValues = updateDigits()
else:
obj = Lead()
obj.save()
serializer = TestingSerializer(queryset[0], many =False)
return Response({**serializer.data, "myResult": result})
и вот фронтенд:
function sendAndGetQuizAverage(points){
const myPostRequest = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({"Result":points, "wichOnesRight": wichOnesRight}),
};
let data
fetch('http://api.tor-netzwerk-seminarfach2024.com/apache-test/', myPostRequest).then(
(response) => data = response.json()).then((data) => {showResultAnalyse(data)})
}
wich выбрасывает сообщение об ошибке:
Uncaught (in promise) SyntaxError: Неожиданный символ, не являющийся пробелом после JSON в позиции 197
Итак, содержимое явно превышает 197 символов, но в заголовке ответа есть следующая деталь:
content-length: 197
Что странно, потому что длина, которую я ожидаю, на самом деле 197 Charecters, потому что это длина первого объекта...
Если вы хотите протестировать его, вот мой сайт: [https://tor-netzwerk-seminarfach2024.com][1] Вы должны перейти к викторине (верхний левый угол) и затем выбрать в каждой строке один блок, чтобы иметь возможность отправить его. Итак, почему я иногда получаю второй объект и как я могу с этим справиться? Я размещаю сервер на Ionos
Это не ответ на ваш вопрос, а просто предложение: Удалите ссылку в вашем примере... Это вопрос безопасности, потому что с ней можно делать... опасные вещи.