首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何要求数据时,我运行邮递员。目前,电子邮件、名字和姓氏都被硬编码到代码中。我如何要求数据?

如何要求数据时,我运行邮递员。目前,电子邮件、名字和姓氏都被硬编码到代码中。我如何要求数据?
EN

Stack Overflow用户
提问于 2019-08-22 14:36:14
回答 1查看 201关注 0票数 0

我对我的数据进行了硬编码。当我向邮递员请求邮寄请求时,如何要求输入这些数据?

代码语言:javascript
复制
const Mailchimp = require('mailchimp-api-v3');
const MailChimpConfig = require('./.env');
const axios = require('axios');
const bodyParser = require('body-parser');

const app = express();
const mailchimp = new Mailchimp(MailChimpConfig.MAILCHIMP_API_KEY);

app.get('/api/memberList',(req, res) => {
  mailchimp.get(`/lists/${MailChimpConfig.MAILING_LIST_ID}/members`)
  .then(function(results){
    res.send(results);
  }).catch(function(err){
    res.send(err);
  });
});

app.post('/api/create', (req, res) => {

    //   const body = req.body;
    //   const { email, firstName, lastName } = body;
    let postData = {
        email_address: req.body.email_address,
        status: req.body.status,
        merge_fields: {
            FNAME: req.body.FNAME,
            LNAME: req.body.LNAME
        }
    }

       console.log(postData);
      // Make mailchimp API call 
      mailchimp.post(`/lists/${MailChimpConfig.MAILING_LIST_ID}/members`, postData)

        .then(function(results){
            res.send(results);
        })
        .catch(function (err) {
            res.send(err);
        }); 
    });
const port = process.env.PORT || 9001;
app.listen(port);
console.log(`express app listening on port ${port}`);

我的预期输出应该是在邮递员中输入数据。这创建了一个成员的电子邮件firstnam和姓氏,我有硬编码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-22 14:42:44

您应该在请求体中发送一个json数据。例如:

代码语言:javascript
复制
{
 "email": "test@mail.com",
 "firstName": "test",
 "lastName": "test",
}

在节点中,可以使用: File server.js获取数据。

代码语言:javascript
复制
const bodyParser = require('body-parser');
const express = require('express');

const app = express();
const port = 8080;

app.use(bodyParser.json());

app.post('/api/create', (req, res) => {
  console.log(req.body);
  const body = req.body;
  const { email, firstName, lastName } = body;

  // Make mailchimp API call 
  mailchimp.post(`/lists/${MailChimpConfig.MAILING_LIST_ID}/members`, {
        email_address: email,
        status: 'subscribed',
        merge_fields: {
            FNAME: firstName,
            LNAME: lastName,
        }
    })
    .then(function(results){
        res.send(results);
    })
    .catch(function (err) {
        res.send(err);
    }); 
});

app.listen(port, () => console.log('server running'));

如果要重现该示例,请使用以下package.json

代码语言:javascript
复制
{
  "name": "nodeHelp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1"
  }
}

server.jspackage.json放在文件夹中,然后运行:

npm install node server.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57611805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档