NodeJS Ajax не передает массив, ошибка: «Неожиданный токен u в JSON в позиции 0» - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь передать массив с javascript на сервер в node.js и получаю эту ошибку:

Неожиданный токен в JSON в позиции 0

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

Клиентская сторона:

function ClientSide()
{
    var info = [];
    info[0] = 'hi';
    info[1] = 'hello';
    var json = JSON.stringify(info); //convert to json

    $.ajax({
        type: 'post',
        url: '/save',
        data: json,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (html) {
        }
    })
}

Сторона сервера:

app.post('/save', function(req,res)
{
    var Passed_value = JSON.parse(req.body);
    console.log(Passed_value);
});

Детали запроса: enter image description here

1 Ответ

0 голосов
/ 05 июля 2018

Если вы не используете анализатор тела, тело будет буфером.

Нам нужно:

https://github.com/expressjs/body-parser#bodyparsertextoptions

Так что попробуйте:

const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.post('/save', function(req,res)
{
    var Passed_value = req.body;
    console.log(Passed_value);
});

И, конечно, вам понадобится

npm install body-parser 

, чтобы убедиться, что он установлен.

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