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
如何通过 REST API 微服务(使用 Express 构建)将 MongoDB 更改流与节点 js 一起使用