【问题标题】:api node .js (posting data to mailchimp server via api)api 节点 .js(通过 api 将数据发布到 mailchimp 服务器)
【发布时间】: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")}
else{res.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")
});

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    你犯了一个小错误:

    const request=https.request(url,options,function(response){
    
    if (res.statusCode===200)
    {res.send("suceeedede")}
    else{res.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){})
      

      【讨论】:

        猜你喜欢
        • 2023-02-19
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多