api 节点 .js(通过 api 将数据发布到 mailchimp 服务器)

Posted

技术标签:

【中文标题】api 节点 .js(通过 api 将数据发布到 mailchimp 服务器)【英文标题】:api node .js (posting data to mailchimp server via api) 【发布时间】:2020-11-01 15:32:47 【问题描述】:

运行程序时出现此错误

错误:

ReferenceError: 选项未定义 在 C:\Users\H00422000\desktop\newsletter-signup\app.js:39:33 在 Layer.handle [as handle_request] (C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\layer.js:95:5) 在下一个(C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\layer.js:95:5) 在 C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\index.js:281:22 在 Function.process_params (C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\index.js:335:12) 在下一个(C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\index.js:275:10) 在serveStatic (C:\Users\H00422000\desktop\newsletter-signup\node_modules\serve-static\index.js:75:16) 在 Layer.handle [as handle_request] (C:\Users\H00422000\desktop\newsletter-signup\node_modules\express\lib\router\layer.js:95:5)

代码:

const express=require("express");
const request=require("request");
const app=express();
const bodyParser=require("body-parser");
const https=require("https");


app.use(bodyParser.urlencoded(extended:true));
app.use(express.static("public"));
app.get("/",function(req,res)
  res.sendFile(__dirname +"/news.html");
);
app.post("/",function(req,res)
var f1=req.body.f1;
var l1=req.body.l1;
var e1=req.body.e1;

var data=
  members: [
    
      email_address:e1,
      status:"subscribed",
      merge_feilds:
        FNAME:f1,
        LNAME:l1
      
    
  ]

;
const url='https://us10.api.mailchimp.com/3.0/lists/f0c448a295';
const options = 
  method: "post",
  auth:"mihr:229d66f728411db957eaae8894911467-us10"



const jsonData=JSON.stringify(data);
const request=https.request(url,option,function(response)

if (res.statusCode===200)
res.send("suceeedede")
elseres.send("errororrrororo")

response.on("data",function(data)
  console.log(JSON.parse(data));
);


);

request.write(jsonData);
request.end();

//229d66f728411db957eaae8894911467-us10
//f0c448a295
);


app.listen(3000,function()
  console.log("server is running on 3000 port")
);

【问题讨论】:

【参考方案1】:

你犯了一个小错误:

const request=https.request(url,options,function(response)

if (res.statusCode===200)
res.send("suceeedede")
elseres.send("errororrrororo")

response.on("data",function(data)
  console.log(JSON.parse(data));
);


);

这应该可以;)

【讨论】:

【参考方案2】:

您将变量声明为options,但将其引用为option,因此它会抛出option is not defined 的错误

const request=https.request(url,options,function(response))

【讨论】:

以上是关于api 节点 .js(通过 api 将数据发布到 mailchimp 服务器)的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 express API 和节点 JS(Angular 4)将数据发布到 mongodb

如何将 html 数据从节点 js 发送到前端?

如何通过 REST API 微服务(使用 Express 构建)将 MongoDB 更改流与节点 js 一起使用

使用 httponly cookie 将 JWT 从节点 REST API 发送到 Vue.js SPA

如何在节点js中使用单个api保存文本字段值以及文件上传?

如何将用户输入从节点服务器传递到外部 api 调用?