Req.body из сообщения возвращается как неопределенное, независимо от того, как я его отправляю - PullRequest
0 голосов
/ 09 ноября 2018

Этот вопрос был задан, но ни один из ответов не помогает мне понять это. Я передаю переменную через AJAX так:

    var myData = "Hi Og";

    $.ajax({
  type: 'POST',
  data: myData,
  url: 'https://example.com:8443',
  success: function (data) {
    alert(data);
  }
}); 

На моем экспресс-сервере это есть на моем сервере. Js

var fs = require('fs');
var http = require('http');
var https = require('https');
var bodyParser = require('body-parser')
var privateKey  = fs.readFileSync('certificates/key.pem', 'utf8');
var certificate = fs.readFileSync('certificates/cert.pem', 'utf8');

var credentials = {key: privateKey, cert: certificate};
var express = require('express');
var app = express();
app.use( bodyParser.json() );       // to support JSON-encoded bodies

// your express configuration here

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);

// For http
httpServer.listen(8080);
// For https
httpsServer.listen(8443);

app.post('/', function (req, res) {
    console.log(req.body.myData);
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.header('Content-type', 'text/html');
    return res.end('<h1>Hello, Secure World!</h1>');
});

С помощью приведенного выше кода я получаю ответ от отправителя с предупреждением «Здравствуй, безопасный мир!». Однако в консоли я получаю "неопределенный". Я изменил тип контента на application / json, но это дало мне ошибку 500. Я изменил req.body.data и тоже самое не определено. req.body gives me this = {}

1 Ответ

0 голосов
/ 17 ноября 2018

В направлении @robertklep, которое мне нужно, чтобы свойство анализировало тело данных с app.use( bodyParser.urlencoded() ); У меня неправильно было это как json, из-за чего оно было неопределенным.

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