使用Express从Javascript向Node.js发送/接收数据

使用Express从Javascript向Node.js发送/接收数据,javascript,node.js,express,get,httpresponse,Javascript,Node.js,Express,Get,Httpresponse,我目前正在使用Express平台、Twilio Node.js SMS API和javascript向我的用户发送文本消息。问题是,我不知道应该怎么做才能通过前端的GET变量发送数据,并通过后端的node.js捕获这些值 出于测试目的,我创建了一个简单的按钮,当单击时,它会向固定号码发送文本消息 以下是javascript方面: 函数sms(){ xmlhttp=新的XMLHttpRequest(); open(“GET”http://localhost:5001“,对); xmlhttp.o

我目前正在使用Express平台、Twilio Node.js SMS API和javascript向我的用户发送文本消息。问题是,我不知道应该怎么做才能通过前端的GET变量发送数据,并通过后端的node.js捕获这些值

出于测试目的,我创建了一个简单的按钮,当单击时,它会向固定号码发送文本消息

以下是javascript方面:

函数sms(){
xmlhttp=新的XMLHttpRequest();
open(“GET”http://localhost:5001“,对);
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
警报(xmlhttp.responseText);
} 
}
xmlhttp.send();

}
我认为新指南将帮助您了解如何在Node.js中接收和回复短信:

右边的代码轨将一步一步地引导您完成它,但您应该特别注意标题为“生成动态TwiML消息”的部分


我认为新指南将帮助您了解如何在Node.js中接收和回复短信:

右边的代码轨将一步一步地引导您完成它,但您应该特别注意标题为“生成动态TwiML消息”的部分


您提供的两段代码都应该可以工作,但是您没有在服务器端代码中显示它们。有什么问题吗?您在服务器端代码中把它们放在哪里了?当你提出请求时会发生什么?您是否使用浏览器中的开发人员工具来检查请求?它是否得到200 OK的响应?它是否包含您期望的数据?您是否在控制台中查找错误消息?(我希望看到一个跨来源的例外情况,这很容易进入谷歌找到解决方案)一个小提示,你没有发送任何东西回前端通知它成功。为此,需要一个简单的response.send()或response.send('receivedthedata');将告诉前端200。@Quentin当我在浏览器中发出请求时,我确实得到了一个200 OK的响应,但当我在JS中评估它时,我无法通知responseText。控制台日志中没有警告错误消息。@Brant我在我的个人代码中添加了您所说的内容,但我无法使用xmlhttp.responseText在JS端发出警告?怎么会呢?你看到的是浏览器开发工具中的控制台?不是Node.JS控制台?当您通过XMLHttpRequest加载URL时,您正在做什么?您提供的两段代码都应该可以工作,但您没有在服务器端代码中显示它们。有什么问题吗?您在服务器端代码中把它们放在哪里了?当你提出请求时会发生什么?您是否使用浏览器中的开发人员工具来检查请求?它是否得到200 OK的响应?它是否包含您期望的数据?您是否在控制台中查找错误消息?(我希望看到一个跨来源的例外情况,这很容易进入谷歌找到解决方案)一个小提示,你没有发送任何东西回前端通知它成功。为此,需要一个简单的response.send()或response.send('receivedthedata');将告诉前端200。@Quentin当我在浏览器中发出请求时,我确实得到了一个200 OK的响应,但当我在JS中评估它时,我无法通知responseText。控制台日志中没有警告错误消息。@Brant我在我的个人代码中添加了您所说的内容,但我无法使用xmlhttp.responseText在JS端发出警告?怎么会呢?你看到的是浏览器开发工具中的控制台?不是Node.JS控制台?当您通过XMLHttpRequest加载URL时,您在做什么?
var http = require('http'),
    express = require('express'),
    twilio = require('twilio'),
    bodyParser = require('body-parser');

var app = express();
app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/', function(req, res) {
    var twilio = require('twilio');
    var twiml = new twilio.TwimlResponse();
    if (req.body.Body == 'hello') {
        twiml.message('Hi!');
    } else if(req.body.Body == 'bye') {
        twiml.message('Goodbye');
    } else {
        twiml.message('No Body param match, Twilio sends this in the request to your server.');
    }
    res.writeHead(200, {'Content-Type': 'text/xml'});
    res.end(twiml.toString());
});

http.createServer(app).listen(1337, function () {
    console.log("Express server listening on port 1337");
});