Javascript 窗体上的eventListener未启动
我从教程中复制了一些代码,该教程将表单内容发送到API。API是在AWS上设置的,如果我使用Postman发送一些JSON,它就会工作。但是JavaScript不起作用。当我点击表单上的submit按钮时,sendDataToLambda函数没有执行。如果我将onClick=“sendDataToLambda()”添加到submit按钮,则函数将启动(但随后在e.preventDefault()行失败,这是预期的行为) 我已经检查了表单ID是否正确,侦听器是否设置正确,并且找不到错误。 如果可能的话,我宁愿不使用jQueryJavascript 窗体上的eventListener未启动,javascript,Javascript,我从教程中复制了一些代码,该教程将表单内容发送到API。API是在AWS上设置的,如果我使用Postman发送一些JSON,它就会工作。但是JavaScript不起作用。当我点击表单上的submit按钮时,sendDataToLambda函数没有执行。如果我将onClick=“sendDataToLambda()”添加到submit按钮,则函数将启动(但随后在e.preventDefault()行失败,这是预期的行为) 我已经检查了表单ID是否正确,侦听器是否设置正确,并且找不到错误。 如果可能
笔记
提交
//将事件侦听器添加到表单中。提交表单时,它将向Lambda函数发送数据,Lambda函数将向我们发送电子邮件。
document.getElementById('note-form')。addEventListener('submit',sendDataToLambda);
//现在来看好东西。这是将我们的数据发送到AWS的函数。
函数sendDataToLambda(e){
console.log('单击提交')
e、 预防默认值();
//获取表单中每个字段的值。这是我们将发送到Lambda函数的数据。
var formSubject=document.getElementById('subject')。值;
var formBody=document.getElementById('body')。值;
//这是我们在API网关中创建的端点。这是我们发出POST请求的地方,该请求调用Lambda函数。
var端点='https://;
//还记得我们刚才抓取的表单值吗?我们要把它们放到一个对象中。
变量体={
主题:formSubject,
正文:格式正文
}
//这里,我们实例化我们的请求。这是FetchAPI使用的一个特殊对象,因此它知道在哪里发送数据、发送什么数据以及如何发送数据。
var lambdaRequest=新请求(端点{
方法:“POST”,
//快速提示:“无cors”模式仅适用于本地主机上的开发!
模式:“无cors”,
body:JSON.stringify(body)
});
//调用fetchapi发出请求
获取(lambdaRequest)
//这是您可以处理错误的地方。这只是一个示例,所以我们不讨论它。
.then(response=>console.log(response))
.catch(err=>console.log(err));
}
您的表单没有
,因此。。。它不会触发onsubmit
.Change type=“button”:Submit
谢谢,更改了按钮类型,现在可以工作了!哇,我的第一个阿贾克斯!