OpenQ5 jquery POST для Node.js Сервер содержит пустое тело запроса на стороне сервера - PullRequest
0 голосов
/ 11 мая 2019

Я устанавливаю пример приложения, использующего Openui5 в качестве среды интерфейса, Node.js & Express.js для внутреннего API и MongoDB в качестве базы данных. Мой пост JQuery Ajax не содержит никаких данных о теле при прибытии на сервер.

Я попробовал несколько решений, представленных в stackoverflow, но ни одно из них, похоже, не работает для меня. MongoDB и Backend Server работают. Выборка данных также работает с привязкой данных ui5 к XML View.

controller.js:

    onSave: function () {
        //get user input from local json model
        var oNewEmployee = this.getView().getModel("newEmp").getProperty("/newEmp"),
            data         = JSON.stringify(oNewEmployee),
            url = 'http://localhost:3000/employee';


        //do the post
        $.ajax({
            url : url,
            dataType : 'json',
            contentType : 'application/json',
            data: data,
            type : 'POST',
            success: function(response){
                console.log(response);
            }
        });
    },

server.js:

var express = require("express");
var app = express();
var mongoose = require("mongoose");
var cors = require("cors");

app.use(cors());

mongoose.connect("mongodb://localhost/schichtplaner", { useNewUrlParser: true });

app.post("/employee", function (req, res) {
    console.log(req.body);
});

app.listen(3000);

Я получаю неопределенный вывод на консоль. Было бы здорово, если бы у кого-то была идея, как решить эту проблему.

1 Ответ

0 голосов
/ 11 мая 2019

Вы должны использовать модуль body-parser npm для чтения полезной нагрузки POST-запроса.

https://www.npmjs.com/package/body-parser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...