почему данные json не принимаются в node.js? - PullRequest
0 голосов
/ 23 мая 2018

когда я публикую данные json на сервере узла, это приводит к ошибке «Ответ на предпечатный запрос не проходит проверку контроля доступа», но когда я отправляю тот же запрос на php-сервере, это работает. изображение консоли браузера

может кто-нибудь сказать мне, почему это не работает в node.js, но когда я попытался опубликовать данные через почтальона на сервере узлов, теперь без ошибок это работает.

фотография почтальона

вот мой код узлаJS

const express = require('express');
const app = express();
app.use(express.json());

app.post('/post', function(req, res){
  res.header('Access-Control-Allow-Origin', '*');
  res.send(req.body);
})

, и это код запроса, который отправляется из браузера

function callAjax(){
  jQuery.ajax({
    method: 'POST',
    url:'http://localhost:3010/post',
    "headers": {
        "content-type": "application/json"
    },
    data: {
        email:'fake@mail.com'
    },
    success: function(data){
        console.log(data);
    },
    error: function(err){
        console.log(err);
    }
   });
 }

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы должны использовать body-parser .

var bodyParser = require('body-parser');

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({
   extended: true
}));


app.post('/post', function(req, res){
   res.setHeader('Access-Control-Allow-Origin', '*');

   res.json(req.body);
});
0 голосов
/ 23 мая 2018

сначала используйте модуль cors: -

npm install --save cors
var cors = require('cors')
app.use(cors())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...