Ajax Опубликовать с express js получить ошибку параметра req - PullRequest
0 голосов
/ 18 марта 2020

Я использую ajax для отправки данных с javascript переднего плана на express js с внутренним сервером. Как я могу получить опубликованные данные, в express js api метод req params. Я сталкиваюсь с проблемой, когда пытаюсь разобрать данные запроса ниже, это мой код. Пожалуйста, помогите мне решить эту проблему

            $.ajax({
                url: "http://localhost:8080/api/save_user/",
                type: "POST",
                crossDomain: true,
                data: { name: 'Justin', number: '662***' },
                dataType: "json",
                contentType: "application/json",
                success: function (response) {
                    var resp = JSON.parse(response)

                },
                error: function (xhr, status) {
                    alert("error");
                }
            });    


Express Js на стороне сервера

const express = require('express');
const path = require('path')
const os = require('os');
const app = express();
var bodyParser = require('body-parser')
app.use(bodyParser.json())


//deploy the smart contract
app.post('/api/save_user', (req, res) => {
    console.log((JSON.parse(req.body)));
    res.send({})
})

Журнал ошибок

SyntaxError: Unexpected token n in JSON at position 0
    at JSON.parse (<anonymous>)
    at createStrictSyntaxError (/node_modules/body-parser/lib/types/json.js:158:10)
    at parse (/node_modules/body-parser/lib/types/json.js:83:15)
    at /node_modules/body-parser/lib/read.js:121:18
    at invokeCallback (/raw-body/index.js:224:16)

1 Ответ

1 голос
/ 18 марта 2020

Проблема в том, что jquery ожидает, что вы передадите строку с json внутри. попробуй так:

            $.ajax({
                url: "http://localhost:8080/api/save_user/",
                type: "POST",
                crossDomain: true,
                data: JSON.stringify({ name: 'Justin', number: '662***' }),
                dataType: "json",
                contentType: "application/json",
                success: function (response) {
                    var resp = JSON.parse(response)

                },
                error: function (xhr, status) {
                }
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...