Javascript Nerlify:lambda反应未定义。在583毫秒内再次检查功能代码响应状态为500
我试图使用netlify及其lambda函数特性来运行节点函数。基于 目前我的netlify.toml只有以下内容:Javascript Nerlify:lambda反应未定义。在583毫秒内再次检查功能代码响应状态为500,javascript,node.js,lambda,netlify,Javascript,Node.js,Lambda,Netlify,我试图使用netlify及其lambda函数特性来运行节点函数。基于 目前我的netlify.toml只有以下内容: [build] functions = "./functions" command = "npm run-script build" mt submission.js: // https://css-tricks.com/using-netlify-forms-and-netlify-functions-to-build-an-e
[build]
functions = "./functions"
command = "npm run-script build"
mt submission.js:
// https://css-tricks.com/using-netlify-forms-and-netlify-functions-to-build-an-email-sign-up-widget/
require('dotenv').config();
const fetch = require('node-fetch');
console.log('to here');
const { LIST } = process.env;
const { B } = process.env;
exports.handler = async event => {
const email = JSON.parse(event.body).payload.data.EMAIL
console.log(email);
const asking = JSON.parse(event.body).payload.data.ASKING
console.log(asking);
var formData = {
'email': email,
'first_name': '',
'last_name': asking,
'lists[]': LIST
};
var encoded = Object.entries(formData).map(([k, v]) => `${k}=${encodeURIComponent(v)}`).join("&");
var endpoint = 'https://api.sendfox.com/contacts/?' + encoded;
const data = JSON.stringify(formData);
return fetch(endpoint, {
method: 'POST',
headers: {
Authorization: B,
'Content-Type': 'application/json',
},
body: JSON.stringify({ formData }),
})
.then(response => response.json())
.then(formData => {
console.log(`Submitted to Buttondown:\n ${formData}`)
})
.catch(error => ({ statusCode: 422, body: String(error) }))
// }
}
结果:
Submitted to Buttondown:
[object Object]
◈ lambda response was undefined. check your function code again
Response with status 500 in 583 ms.
我做错了什么?响应状态为500表示请求的格式和执行正确,但服务器在执行请求时出错。有时,这可能是由服务器的参数引起的。您可以尝试调整参数以获得不同的响应代码。谢谢。您建议我更改哪些参数?从所需参数的最少数量开始,并确保内容简单。您还可以尝试其他一些方法,例如删除查询参数(它们复制了主体),以及使用url编码的参数而不是json。基本上,他们的服务器被某种东西阻塞了,您正试图向他们提供尽可能简单的东西来找出原因。响应状态为500表示您的请求已正确形成并执行,但服务器在执行您的请求时出错。有时,这可能是由服务器的参数引起的。您可以尝试调整参数以获得不同的响应代码。谢谢。您建议我更改哪些参数?从所需参数的最少数量开始,并确保内容简单。您还可以尝试其他一些方法,例如删除查询参数(它们复制了主体),以及使用url编码的参数而不是json。基本上,他们的服务器被某些东西阻塞了,而您正试图向他们提供尽可能简单的东西,以找出原因。