WedX - журнал о программировании и компьютерных науках

Тело почтового запроса пусто на стороне сервера Meteor (ошибка 503)

Я отправляю данные в конечную точку API, используя Axios. На стороне Network в консоли тело запроса содержит правильные данные. На стороне сервера Meteor как параметры, так и тело пусты и выдает ошибку 503 на консоли.

Я прочитал похожие вопросы и убедился, что для content-type установлено значение application\json, я попытался установить для mode значение no-cors, я вызываю локальную конечную точку.

Клиентский код

const modifyPackage = () => {

            const requestContent = {
                "filePath": package.file.path,
                "data": data
            };
            const requestConfig = {
                headers: {
                    "Content-Type": "application/json"
                }
            }

            axios.post('/modifyPackage',requestContent,requestConfig)
            .then((response) => {
                console.log(response);
            }).catch ((err) => {
                console.log(err);
            });
        }   
        modifyPackage();

Серверный код

  Picker.middleware( bodyParser.urlencoded( { extended: false } ) );
  Picker.middleware( bodyParser.json() );

  Picker.route('/modifyPackage',(params, req,res,next) => {
    console.dir("## BODY ##");
    console.dir(req.body);
    if (req.method == "POST") {
      const modifiedContent = req.body.data;
      const pathString = req.body.filePath;
      console.dir(pathString);
      console.dir(modifiedContent);

      fs.writeFile(pathString, modifiedContent, (err,data) => {
        if (data) {
          console.dir(data);
        }
        res.end();
      });
    } else {
      console.dir("Not Post")
      res.end("No Response");
    }
  });

  • Если params пуст, как вы говорите, вы не можете получить доступ к его свойствам, как в: const modifiedContent = params.body.data; 04.06.2020
  • Поправьте меня, если я ошибаюсь, но не будет ли params относиться к параметрам пути? То есть /path/:param1/:param2. Кроме того, вы определенно не хотите использовать режим no-cors 04.06.2020
  • @Chase @Phil да, вы оба правы. Параметры не должны содержать никаких данных. Я просто печатаю все, что можно. Проблема в том, что req.body пусто 04.06.2020

Ответы:


1

Ошибка 503 Ошибка на стороне сервера

const modifiedContent = req.body.data;
const pathString = req.body.filePath;
04.06.2020
  • это возвращает ошибку undefined, потому что req.body пуст 04.06.2020

  • 2

    Я не знаю Пикера. Вы можете использовать встроенный пакет Meteor Webapp.

    import { WebApp } from 'meteor/webapp';
    import connectRoute from 'connect-route';
    
    WebApp.connectHandlers.use(connectRoute((router) => {
      router.post('/modifyPackage/:someParam/:otherParam', (req, res, next) => {
        // some logic here.
    
        res.writeHead(200);
        res.end('some data');
      });
    }));
    
    04.06.2020
  • У меня были некоторые проблемы с WebApp, дело не в том, какое промежуточное ПО использовать. 04.06.2020
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]