emailjs.send 电子邮件仅适用于调试模式

emailjs.send email works on debug mode only

我对下面的代码有疑问,它只能在调试模式下工作(我猜它会涉及到同步和非同步请求)。

我正在尝试在用户按下 'submit' 时发送电子邮件。

另一个问题是 .then 中的 console.log 没有打印任何东西。

希望能帮到你,

谢谢!

form.addEventListener('submit', function(event) {
                if (form.checkValidity() === false) {
                    event.preventDefault()
                    event.stopPropagation()
                }
                form.classList.add('was-validated')
                var radioValue = $('#paymentForm input:radio:checked').val()
                var orderNumber = generateId();
                var cName = $('#firstName').val() + " " + $('#lastName').val()
                var cEmail = $('#email').val()
                var cProducts = JSON.parse(localStorage.getItem("products") || "[]");
                console.log(cProducts);
                var templateParams = {
                    order_number: orderNumber,
                    customer_name: cName,
                    products: JSON.stringify(cProducts),
                    customer: cEmail
                };

                emailjs.send('gmail', 'orderconfirmation', templateParams)
                    .then(function(response) {
                        console.log('SUCCESS!', response.status, response.text);
                        alert('Your mail is sent!');
                    }, function(error) {
                        console.log('FAILED...', error);
                        alert('Oops... ' + JSON.stringify(error));
                    });
            }, false)

尝试在关闭 eventListener 括号之前添加它

event.preventDefault();