Javascript 使用AJAX调用Node.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

我不熟悉Node.js,但我知道它在服务器端。当我在终端中运行app.js文件时,它会发送文本消息,但我最终要做的是让用户完成表单,然后按下按钮,向他们发送文本消息以验证他们提交的内容。我正在使用Twilio服务来帮助实现这一点。它当前没有在按下按钮时发送消息

这是我的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>
提交

老实说,我甚至不确定这是可能的,但我一直在寻找,并没有真正找到任何直接的解决办法。感谢您的帮助

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,但出于某种原因,它仍然没有发送。