Javascript 使用AJAX调用Node.js文件发送短信
我不熟悉Node.js,但我知道它在服务器端。当我在终端中运行app.js文件时,它会发送文本消息,但我最终要做的是让用户完成表单,然后按下按钮,向他们发送文本消息以验证他们提交的内容。我正在使用Twilio服务来帮助实现这一点。它当前没有在按下按钮时发送消息 这是我的app.js文件:Javascript 使用AJAX调用Node.js文件发送短信,javascript,node.js,ajax,twilio,Javascript,Node.js,Ajax,Twilio,我不熟悉Node.js,但我知道它在服务器端。当我在终端中运行app.js文件时,它会发送文本消息,但我最终要做的是让用户完成表单,然后按下按钮,向他们发送文本消息以验证他们提交的内容。我正在使用Twilio服务来帮助实现这一点。它当前没有在按下按钮时发送消息 这是我的app.js文件: var accountSid = process.env.TWILIO_ACCOUNT_SID; var authToken = process.env.TWILIO_AUTH_TOKEN; var clien
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>
提交
老实说,我甚至不确定这是可能的,但我一直在寻找,并没有真正找到任何直接的解决办法。感谢您的帮助 nodeJs路由需要GET。但是您的ajax发出POST请求。尝试:
app.post('/testtwilio', ...
nodeJs路由需要GET。但是您的ajax发出POST请求。尝试:
app.post('/testtwilio', ...
您的
app
变量未定义。如果您想像之前的教程一样使用express
框架,您需要在app.js中注册它,如下所示:
var express = require('express');
var app = express();
再加上关于这篇文章的答案/评论,你们应该会明白这一点
注意。您需要在节点模块中安装express。从根目录中的命令行:
npm安装--save express
您的app
变量未定义。如果您想像之前的教程一样使用express
框架,您需要在app.js中注册它,如下所示:
var express = require('express');
var app = express();
再加上关于这篇文章的答案/评论,你们应该会明白这一点
注意。您需要在节点模块中安装express。从根目录中的命令行:
npm安装——保存express
应用程序。获取并键入:'POST'
,希望这能提示您哪里出了问题。如果没有,您可以阅读我认为应该将其更改为类型:“GET”?换句话说,将app.GET
更改为app.post
。您想从客户端发出POST请求,它现在不起作用的原因是您正在从客户端发出POST请求,但已将其设置为预期GET。@mur7ay GET用于检索数据,您想通过SMS服务发送数据,因此最好使用POST。GET应仅用于获取数据。嗯。。我切换到POST,但它仍然没有发送。app.get
和键入:“POST”
,希望这能给你一个提示,告诉你哪里出了问题。如果没有,您可以阅读我认为应该将其更改为类型:“GET”?换句话说,将app.GET
更改为app.post
。您想从客户端发出POST请求,它现在不起作用的原因是您正在从客户端发出POST请求,但已将其设置为预期GET。@mur7ay GET用于检索数据,您想通过SMS服务发送数据,因此最好使用POST。GET应仅用于获取数据。嗯。。我切换到了POST,但它仍然没有发送。我按照你的建议更改了app.POST,但出于某种原因,它仍然没有发送。我按照你的建议更改了app.POST,但出于某种原因,它仍然没有发送。