javascript 在mailchimp错误400中添加成员时出现问题

m0rkklqb  于 2023-02-28  发布在  Java
关注(0)|答案(1)|浏览(92)

目前在一个初学者的课程和老师教了一种方法发送成员数据到mailchimp使用节点js已经被困在这个问题足够长的时间.有人发现错误吗?这里是代码

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

const app = express();

app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended:true}));

app.get("/",function(req,res){
    res.sendFile(__dirname + "/signup.html");
})
 
app.post("/",function(req,res){

    var firstName = req.body.fName;
    var lastName = req.body.lName;
    var email = req.body.email;

    const data ={
        members:[{
            email_address : email,
            status : "subscribe",
            merge_fields:{
                FNAME : firstName,
                LNAME : lastName
            }
        }]
    };

    const jsonData = JSON.stringify(data);
    const url = "https://us21.api.mailchimp.com/3.0/lists/aa5cf6a915";

    const options = {
        method:"POST",
        auth:"dineman1:d38cc7377bd5004fe4d5cf836a2eed65-us21"
    };

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

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

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

});

app.listen(3000,function(){
    console.log("server is hosted on post 3000");
})

请教我,如果有另一种方法来做到这一点。对不起,如果我的代码是不方便阅读它的我的第一篇文章,并分享提示,以改善我的questions ty

b4lqfgs4

b4lqfgs41#

我看不到任何错误,但我认为你需要检查你的响应statusCode部署在网络上。此外,你需要更新你的端口从静态到动态主机在网络上的应用程序。
响应状态代码:-

const request = https.request(url, option, function(response) {
        response.on("data", function(data){
            if(response.statusCode === 200){
                res.sendFile(__dirname + "/success.html");
            }
            else{
                res.sendFile(__dirname + "/failure.html")
            }

        console.log(JSON.parse(data));

        })
    })

和应用程序。侦听为:-

app.listen(process.env.PORT || 3000, function(req, res){
console.log("App is running on port 3000!")
}

希望这有帮助!

相关问题