javascript - 无法从 Javascript addEventListener 方法调用 jQuery POST 请求

标签 javascript jquery

我有一个 Javascript 文件,用于处理 html 页面上的按钮单击。它运行良好并检测按钮点击,但是我无法使 POST 请求在 addEventListener 方法内工作。我的浏览器控制台没有收到任何错误,它只是不起作用。我的问题是缺少什么?根据 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"
        });
    }
});
}());

最佳答案

从您的对象中删除警报调用,这是一个语法错误,因此您的代码片段将不会运行。

另外,不确定这是否会产生影响,但您可以用 jquery onload 函数替换自执行函数(IIFE),两者都提供封装范围...下面的示例

(function () {

//...

})();

成为

$(function () {

//...

});

哪里

//...

是你的代码。

我还会向您的 jquery Ajax 调用添加一个错误字段,这样您就可以记录任何错误。

error: function (err) {

    console.log(err);

} 

鉴于您的问题中有语法错误,这就是我所能提供的建议。

与浏览器开发工具成为 friend ,特别是控制台和网络选项卡,当询问“端点是否被击中”时,控制台选项卡会发现您的语法错误,而网络选项卡将产生您正在寻找的答案,以及“端点给出什么响应”。

最后,我会在 if 之后添加任何其他语句,该语句检查电子邮件的长度,一个简单的日志就可以了,可能是您获取了错误的电子邮件字段,或者它不长足够的。

关于javascript - 无法从 Javascript addEventListener 方法调用 jQuery POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47877655/

相关文章:

javascript - 条件中的 window.addEventListener

javascript - 使用子字符串 javascript 过滤列表?

javascript - 将 cookie 设置为每个 session 只显示一次 DIV

javascript - React.js 上 img 的正确路径

javascript - TimeSpinner 检查未定义是否不起作用

jquery - DOMNodeInserted 无法正常工作

javascript - html - 显示一张图片,该图片取决于我从查询调用中获得的结果

javascript - 选择 div 时禁用自动滚动

javascript - 修改 jQuery getJSON - 添加调用和回调函数

javascript - Angular ngModel 不会触发 Kendo 更改事件