Javascript 发送ajax请求在脚本位于我的表单下方时有效,但在脚本位于外部时无效

Javascript 发送ajax请求在脚本位于我的表单下方时有效,但在脚本位于外部时无效,javascript,ajax,Javascript,Ajax,如果我把它放在表单下面的一个div中,这段代码就可以工作,但是当我把它放在名为main.js的外部js中时,表单不会将数据提交到我的API中。我错过了什么?。外部js在标题部分引用。非常新的javascript。。。抱歉,我尝试复制粘贴代码,但编辑器不允许,它说我的格式有错误我们需要知道您是如何链接外部文件的,以及“不提交”是什么意思,您是否收到任何错误消息 您的脚本可能是在#signupForm元素出现在DOM中之前呈现的 您可以尝试将外部js放在结束body标记之前,而不是在部分中链接它 另


如果我把它放在表单下面的一个div中,这段代码就可以工作,但是当我把它放在名为main.js的外部js中时,表单不会将数据提交到我的API中。我错过了什么?。外部js在标题部分引用。非常新的javascript。。。抱歉,我尝试复制粘贴代码,但编辑器不允许,它说我的格式有错误

我们需要知道您是如何链接外部文件的,以及“不提交”是什么意思,您是否收到任何错误消息

您的脚本可能是在#signupForm元素出现在DOM中之前呈现的

您可以尝试将外部js放在结束body标记之前,而不是在
部分中链接它

另外,在执行脚本之前,请确保DOM已完全加载

在main.js文件中:

  document.addEventListener('DOMContentLoaded', function() {
     //YOUR CODE HERE...
  });

事实证明,在头部包含外部js文件才是问题所在。因为我现在已经在signup.html的末尾包含了它,并且它按照预期工作。我认为这与@Toxnyc所说的有关,即当提交事件侦听器启动时,DOM没有完全加载。

下面的意思是脚本和表单在同一个文件中,表单首先出现,然后是上面的脚本。您如何包括该文件?你能举一个链接js文件的例子吗,这就是我链接外部js文件的方式。我所说的提交是指当我点击提交按钮时,什么都没有发生。这就像提交操作的事件侦听器不工作一样。但是当我在signup.html中的表单后面包含js文件时,一切都很好。。它很难阅读,阻止了基于文本的搜索,并且降低了文章的整体呈现价值。谢谢,@FrankerZ,我想这就是为什么downvoteI没有收到任何错误的原因。点击表单的submit按钮时不会发生任何事情,而当相同的js脚本是内部的并且在注册表单下面的表单ie之后出现时,如果它对您有效,您可以接受这个答案吗?