Получение и анализ POST-запроса с помощью express.js - PullRequest
0 голосов
/ 09 июня 2019

Я хочу добавить пользователей в StarLeaf Cloud.Код работает нормально, если «const data» жестко запрограммирована, я могу добавить пользователя.Но если я отправляю данные от клиента (Electron), я получаю неверный ответ 400 ( 400 Bad Request - запрос каким-то образом искажен. Включает такие проблемы, как POSTing invalid JSON и предложение недопустимых аргументов для действий. )

Я проверил массив, скопировал его из консоли, и тот же массив работал, если он не был получен от клиента.

Извините, но я не могу дать вам полный рабочий код с действительным'X-SL-AUTH-TOKEN', потому что у меня нет тестовой учетной записи.

Есть ли какие-либо символы, которые я не вижу при разборе данных?

Я пробовал оба метода с клиента на сервер (GET и POST) с одинаковым результатом.

const data = {
  firstname: "John",
  lastname: "Doe6",
  email: "jd6@collabcom.ch"
};


var express = require('express');
var app = express();
var request = require('request');
var bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.post('/', function (req, res) {
var  data = req.body.user;
console.log(data)
const options = {
  url: 'https://api.starleaf.com/v1/users',
  port: 443,
  method: 'POST',
  headers: {
    'X-SL-AUTH-TOKEN': ''
  },
  json: data
}
request(options, function (error, response, body) {
  if(error){
    console.error("Error: ", error);
  } else if (response.statusCode != 201) {
    console.log("Bad response updating org: " + response.statusCode);
  }  else {
    console.log("Operation successful");
  }
});
});
app.listen(8000, function () {
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...