我有一个Javascript文件,可以处理我的html页面上的按钮点击。它运行良好并检测按钮点击,但是我无法在addEventListener方法中使POST
请求工作。我在浏览器的控制台中没有出现任何错误,它只是无法正常工作。我的问题是缺少什么?基于我检查的POST
个请求,此实现应该可以正常工作。
//我的.js文件:
(function(){
const btnSignUp = document.getElementById('btnSignUp');
const txtEmail= document.getElementById('txtEmail');
btnSignUp.addEventListener('click', e => {
const email = txtEmail.value;
console.log('test log');
if (email.length < 4) {
$.ajax({
type: "POST",
contentType: "application/json",
url: "/signup/",
data: JSON.stringify({title: email}),
success: function (data) {
console.log(data.title);
},
dataType: "json"
});
}
});
}());
答案 0 :(得分:1)
从您的对象中删除警报调用,这是一个语法错误,因此您的代码段将无法运行。
另外,不确定这是否有所作为,但你可以用jquery onload函数替换自执行函数(IIFE),两者都提供封装范围......下面的例子
(function () {
//...
})();
成为
$(function () {
//...
});
哪里
//...
是你的代码。
我还会在你的jquery Ajax调用中添加一个错误字段,这样你就可以记录任何错误。
error: function (err) {
console.log(err);
}
考虑到你的问题中存在语法错误,这就是我所能提供的所有建议。
与浏览器开发工具成为朋友,特别是控制台和网络选项卡,控制台选项卡会选择您的语法错误,当询问“端点被击中”时,网络选项卡将产生您正在寻找的答案,和“端点给出的响应”。
最后,我会添加任何其他声明,在if之后检查电子邮件的长度,一个简单的日志会做,可能是你拿错了电子邮件字段,或者它不长足够。