Воссоздать почтовый запрос в почтальоне - PullRequest
0 голосов
/ 29 января 2019

У меня есть следующий код javascript для создания запроса на публикацию.

   var postUrl = "http://localhost:3100/radiance";

   xhttp.open("POST", postUrl, true);
   xhttp.setRequestHeader('Content-type', 'application/json');

   let radFile = {"radfile":"long string"}
   let solarJson = {"key1":"value1","key2":"value2"}
   let latitude = 45
   let longitude = 24

   msgJson=JSON.stringify({'radFile':radFile,'speedSolar':solarJson,'latitude':latitude,'longitude':longitude})

   xhttp.send(msgJson);

Запрос на публикацию абсолютно корректно работает с моим экспресс-кодом приложения ниже.

var express        = require('express');

// require our dependencies

var express        = require('express');

var bodyParser     = require('body-parser');
var cors           = require('cors');
var app            = express();
var port           = process.env.PORT || 3100;

var corsOptions = {
  credentials: false
};

// use body parser

app.use(bodyParser.urlencoded({extended: true, limit: 1024 * 1024 * 10000, parameterLimit: 1000000*1000}));

app.use(bodyParser.json({type: 'application/json', extended: false, limit: 1024 * 1024 * 10000, parameterLimit: 1000000*1000}));

// route our app
var router = require('./app/routes');
app.use('/', router);

var server
// start the server
server = app.listen(port, function() {
  console.log('app started ' +port );
});

Однако яизо всех сил пытаюсь повторить почтовый запрос выше в почтовом человеке для тестирования (цели).

Я считаю, что следующий почтовый запрос должен сработать, но когда мое приложение получает этот почтовый запрос, тело запроса всегда пусто.Зачем?Кажется, что анализатор тела не выполняет свою работу.

The body of the post request

The header of the post request

Кто ячто-то не так в моем почтовом запросе в почтальоне, как я могу точно повторить свой почтовый запрос на JavaScript?

1 Ответ

0 голосов
/ 29 января 2019

Вы делаете два разных типа запроса здесь.Код вашего веб-сайта отправляет строку JSON с вложенным в нее содержимым «файлов»:

let radFile = {"radfile":"long string"}
let solarJson = {"key1":"value1","key2":"value2"}
let latitude = 45
let longitude = 24
msgJson=JSON.stringify({'radFile':radFile,'speedSolar':solarJson,'latitude':latitude,'longitude':longitude})

дает вам тело

{'radFile': {"radfile": "long string"}, 'speedSolar': {"key1":"value1", "key2":"value2"}, 'latitude': 45, 'longitude': 24}

Однако при использовании Почтальонакак вы, вы отправляете 2 разные части, файл (или 2) и значения формы - вы можете использовать эхо-сайт почтальона, чтобы увидеть, что вы на самом деле отправляете, если у вас есть вопросы в будущем: Echo of bad request

Если вы действительно хотите скопировать свою оригинальную версию, вы можете сделать это - raw тело типа json и заполнить детали: Echo of valid request

...