SendGrid未使用Html输入的JavaScript将电子邮件添加到联系人列表

SendGrid未使用Html输入的JavaScript将电子邮件添加到联系人列表,javascript,sendgrid-api-v3,Javascript,Sendgrid Api V3,我正在尝试使用SendGrid将电子邮件添加到带有Js的营销列表中。我是通过登录页上的一个简单输入表单来实现的。我正在按照中的代码进行操作,并收到以下错误: jquery.min.js:2 PUThttps://api.sendgrid.com/v3/marketing/contacts 400(错误请求) 我在submit按钮上调用的函数如下所示: function SubscribeEmail() { var settings = { "async": tru

我正在尝试使用SendGrid将电子邮件添加到带有Js的营销列表中。我是通过登录页上的一个简单输入表单来实现的。我正在按照中的代码进行操作,并收到以下错误:
jquery.min.js:2 PUThttps://api.sendgrid.com/v3/marketing/contacts 400(错误请求)

我在submit按钮上调用的函数如下所示:

function SubscribeEmail() {
  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://api.sendgrid.com/v3/marketing/contacts",
    "method": "PUT",
    "headers": {
      "authorization": "Bearer <<MY SENDGRID API KEY>>",
      "content-type": "application/json"
    },
    "processData": false,
    "data": "{\"list_ids\":[\"pre-launch-signup\"],\"contacts\":[{\"email\":\emailSignupForm.value,\"custom_fields\":{}}]}"
  }
  
  $.ajax(settings).done(function (response) {
    console.log(response);
  });
}
函数SubscribeEmail(){
变量设置={
“异步”:true,
“跨域”:正确,
“url”:”https://api.sendgrid.com/v3/marketing/contacts",
“方法”:“放置”,
“标题”:{
“授权”:“持票人”,
“内容类型”:“应用程序/json”
},
“processData”:false,
“数据:“{\”列表ID\:[\”启动前注册\“],“\”联系人\“:[{\”电子邮件\“:\emailSignupForm.value,\”自定义字段\“:{}}]}”
}
$.ajax(设置).done(函数(响应){
控制台日志(响应);
});
}
当我用
替换
emailSignupForm.value
时myName@Gmail.com“
它工作正常,并将该电子邮件添加到列表中。但是,显然我需要它从表单中获取输入。
我格式化有什么问题吗

谢谢