Неожиданный токен # в JSON в позиции 0 - PullRequest
0 голосов
/ 06 апреля 2020

Я создал конечную точку, и когда я отправляю запрос на конечную точку, я получаю объект для офисов, но когда дело доходит до получателя, я получаю ошибку SyntaxError: неожиданный токен # в JSON в позиции 0 и когда я проверил в журнале проекта, откуда я получаю запрос, он выдает ошибку StatusCodeError: 400.но, когда я отправляю запрос, используя почтальон, он не выдает никакой ошибки, он работал нормально. вот код конечной точки.

const { growthfilemsdb } = require('../config');
const { code } = require('../utils/reportUtils');
const { getBearerToken, tokenValidator } = require('../utils/http');
const update = async (req, res) => {
  try {
    const bearerToken = getBearerToken({ headers: req.headers })
    if (tokenValidator(bearerToken)) {
      const officeID = req.body.officeId;
      const recipientID = req.body.recipientId;

      const data = {
        requestBody: req.body,
      };
      if (
        req.body.hasOwnProperty('officeId') &&
        req.body.template === 'office'
      ) {
        const officeDb = await growthfilemsdb
          .collection('Offices')
          .doc(officeID)
          .set(data.requestBody, { merge: false });

        return res.status(code.ok).send({ success: true, message: `Success` });
      } else if (
        req.body.hasOwnProperty('recipientId') &&
        req.body.hasOwnProperty('officeId') &&
        req.body.template === 'recipient'
      ) {
        const recipientData = await growthfilemsdb
          .collection('Offices')
          .doc(officeID)
          .collection('Recipients')
          .doc(recipientID)
          .set(data.requestBody, { merge: false });

        return res.status(code.ok).send({ success: true, message: `Success` });
      }
    } else {
      res.status(code.forbidden).send('Forbidden');
    }
  } catch (error) {
    res
      .status(code.internalServerError)
      .send({ success: false, message: `Internal Server Error` });
  }
};
module.exports = { update };

, и я использовал этот код в файле индекса. js как, например,

const bodyParser = require('body-parser');
const app = express();
const updateRecord = require('./api/updateApi');
require('dotenv').config();
app
  .use(bodyParser.urlencoded({ extended: true }))

    app.put('/activity', updateRecord.update);

это ошибка, которую я получил когда я отправляю запрос

<code>StatusCodeError: 400 - "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Bad Request
\ n \ n \ n "в новом StatusCodeError (/ srv / node_modules / request-обещание-native / node_modules / запрос-обещание-core / lib / errors . js: 32: 15) в Request.plumbing.callback (/srv/node_modules/request-promise-native/node_modules/request-promise-core/lib/plumbing.js:104:33) по запросу. RP $ callback [as _callback] (/srv/node_modules/request-promise-native/node_modules/request-promise-core/lib/plumbing.js:46:31) в Request.self.callback (/ srv / node_modules) /request/request.js:185:22) в emitTwo (события. js: 126: 13) в Request.emit (события. js: 214: 7) по запросу. (/ srv /node_modules/request/request.js:1161:10) в emitOne (события. js: 116: 13) в Request.emit (события. js: 211: 7) в IncomingMessage. ( /srv/node_modules/request/request.js:1083:12) * 1 015 * и это ошибка, которую я получаю при получении
SyntaxError: Unexpected token # in JSON at position 0
    at JSON.parse (<anonymous>)
    at createStrictSyntaxError (/worker/node_modules/body-parser/lib/types/json.js:157:10)
    at parse (/worker/node_modules/body-parser/lib/types/json.js:83:15)
    at /worker/node_modules/body-parser/lib/read.js:121:18
    at invokeCallback (/worker/node_modules/raw-body/index.js:224:16)
    at done (/worker/node_modules/raw-body/index.js:213:7)
    at IncomingMessage.onEnd (/worker/node_modules/raw-body/index.js:273:7)
    at emitNone (events.js:111:20)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...