【发布时间】:2021-12-27 18:15:42
【问题描述】:
我在提交表单后尝试使用 emailjs 向用户发送电子邮件,但出现此错误:
FAILED... ReferenceError: XMLHttpRequest is not defined
at C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\emailjs-com\cjs\api\sendPost.js:8:21
at new Promise (<anonymous>)
at Object.sendPost (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\emailjs-com\cjs\api\sendPost.js:7:12)
at Object.send (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\emailjs-com\cjs\methods\send\send.js:25:23)
at C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\routes\index.js:197:11
at Layer.handle [as handle_request] (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\express\lib\router\route.js:137:13) at Route.dispatch (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\express\lib\router\layer.js:95:\lib\router\layer.js:95:5)
at C:\Users\Awesome\Desktop\Awesome\Websites\Client Websites\alumates-landing-page\node_modules\express\lib\router\index.js:281:22
根据报错,emailjs的sendpost.js中没有定义XMLHttpRequest
我没有修改这个文件。我只是使用常规方式安装了 emailjs
npm install emailjs-com --save
请问,有人知道怎么解决吗?这是我的路线:
router.post('/groups/join', function (req, res) {
//handle form submission here
var templateParams = {
url: url,
group_name: group_name, //gotten from form submission value
user_name: joinRequest.user_name, //gotten from form submission value
email: joinRequest.email //gotten from form submission value
}
emailjs.send(serviceID, groupID, templateParams)
.then(function (response) {
console.log('SUCCESS!', response.status, response.text);
res.redirect("/login")
}, function (error) {
console.log('FAILED...', error);
});
})
我还需要 emailjs 和 xhr 在我的路线顶部:
var xhr = require("xhr");
var emailjs = require("emailjs-com");
emailjs.init("user_CPxhncQgw2s5e4nNwbu36")
【问题讨论】:
-
有同样的问题。有更新吗?
-
只使用适用于 Node 的库,而不是浏览器,就可以了。
-
不,我无法解决问题。我不得不寻找另一种选择。我现在使用 Nodemailer,而不是 emailjs
标签: javascript node.js express email