使用AJAX调用Node.js文件发送SMS消息
问题描述:
我是Node.js的新手,但我明白它在服务器端。当我在终端中运行我的app.js文件时,它发送文本消息,但我最终要做的是让用户完成表单,并在按下按钮时,向他们发送短信以验证其提交。我正在使用Twilio服务来帮助完成此操作。它目前不在按钮按下时发送消息。使用AJAX调用Node.js文件发送SMS消息
这是我的app.js文件:
var accountSid = process.env.TWILIO_ACCOUNT_SID;
var authToken = process.env.TWILIO_AUTH_TOKEN;
var client = require('twilio')(accountSid, authToken);
app.get('/testtwilio', function(req, res) {
client.messages.create({
to: "+1receivingNumber",
from: "+myTwilioNumber",
body: "Testing, testing, testing"
}, function(err, message) {
if (err) {
console.log(err);
} else {
console.log(message.sid);
}
});
})
我的JavaScript文件:
$('#buttons').on('click', function(e) {
$.ajax({
type: 'POST',
url: '/testtwilio',
data: {
"To": userCellPhone,
"From": "+1myTwilioNumber",
"Body": "Ahoy! Testing"
},
beforeSend: function(xhr) {
...
},
success: function(data) {
console.log(data);
},
error: function(data) {
console.log(data);
}
});
});
最后,我的html按钮:
<button type="submit" id="buttons" class="buttons">SUBMIT</button>
老实说,我不即使确定这是可能的,但我一直在寻找永远,并不能真正找到任何直接的解决方案。任何帮助表示赞赏!
答
您的app
变量未定义。如果你想使用express
框架就像你跟着教程,您需要在app.js喜欢将其注册如下:
var express = require('express');
var app = express();
与答案相结合/约发表评论,那要看你在你的路上。
Nb。您需要在您的节点模块中安装express。从您的根目录下的命令行:
npm install --save express
答
nodeJs路由期望GET。但是你的ajax发出POST请求。请尝试:
app.post('/testtwilio', ...
+0
我按照你的建议对app.post进行了修改,但由于某种原因,它仍然没有发送。 – mur7ay
'app.get'和'类型:“POST''这应该可以给你,你已经走了错误的提示。如果没有,你可以阅读[文档](http://expressjs.com/tr/api.html#app.post.method) – George
我在想它应该改为键入:'GET'? – mur7ay
其他方法,将'app.get'更改为'app.post'。你想从客户端发出一个POST请求,它现在不能正常工作的原因是你正在从客户端发出一个POST请求,但它已经设置为期望GET。 – George