Задать вопрос
@raskolnikovitking

Почему ответ от сервера не доходит до клиента Fetch JS?

Использую express и multer, что бы принять запрос от клиента (в данном случает приходит описание товара, название, фото и т.д).
Отправляю запрос с помощью fetch, сервер его получает, обрабатывает и отвечает, но почему - то до клиента он просто не доходит (Постоянно висит ожидание). Такое происходит только при использовании multer, если убрать функцию загрузки, то все работает исправно. А самое главное, что если multer не возвращает ошибку, то все отлично приходит.
Возвращаю так: cb(new Error('account undefined!')

62f662e56e6c6237006647.png
62f662fa1721b651645735.png

Клиент:
const formData = new FormData();
        const fileField = document.getElementById('File').files[0];
        let randomName = `${Math.round(Math.random() * 3453452525)}_${Math.round(Math.random() * 3453452525)}_${Math.round(Math.random() * 34534525225)}${Math.round(Math.random() * 34539452525)}`;

        formData.append('title', document.getElementById('title').value);
        formData.append('disc', document.getElementById('disc').value);
        formData.append('price', document.getElementById('price').value);
        formData.append('viberT', document.getElementById('viberT').value);
        formData.append('vkS', document.getElementById('vkS').value);
        formData.append('wappT', document.getElementById('wappT').value);
        formData.append('teleN', document.getElementById('teleN').value);
        formData.append('gallery', fileField);

        try {
            const response = await fetch(`https://тут ДОМЕН сайта:8080/cool-profile?login=${login}&password=${password}&codeSt=${randomName}`, {
            method: 'POST',
            headers: {
                Accept: 'application/json'
            },
            body: formData
        });
            const result = await response;
            console.log(result)
            console.log(result.message);
            console.log(result.text);
        } catch (error) {
            console.error(error);
        }


Сервер:
app.post('/cool-profile', urlencodedParser,  function (req, res, next) {

	let url = req._parsedUrl.pathname;//Получаю ссылку
	let textR = "OK"; //Стандарт ответ

	let codeSt = req.query.codeSt; //Тут беру специальный код, чтоб отдать юзеру отчет о загрузке
	if (codeSt === undefined) return res.send('ERROR CODE STATUS'); //Если код не пришел (ДО кл тоже не доходит)
	console.log(url);

	res.send('OK'); //Отправляю ок, который как раз и не приходит
	ObgStatusCode[codeSt] = { //Заношу в объект код для отслеживания загрузки
			progress: 0,
			ressultL: ""
		}	
	console.log(ObgStatusCode);
	console.log("Отправил ответ и добавил в объекст");
	upload(req, res, function (err) {//Начинаю загрузку (вот оно все и ломает)
			ObgStatusCode[codeSt].progress = 100;
			console.log(err);
	   		if (err !== undefined) {
	   			textR = `Error\nCode01`;
	   		}
	   		ObgStatusCode[codeSt].ressultL = textR;
  	})


})
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы