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

时间:2016-08-05 12:27:46

标签: javascript node.js express get httpresponse

我目前正在使用Express平台,Twilio Node.js SMS API以及明显的javascript来向我的用户发送短信。问题是,我不知道我应该做什么才能通过前端的GET变量发送数据,并在后端使用node.js捕获这些值。

出于测试目的,我创建了一个简单的按钮,在单击时将文本消息发送到固定号码。

这是javascript方面:

UICollectionView

这是node.js方:

function sms() {
   xmlhttp = new XMLHttpRequest();
   xmlhttp.open("GET","http://localhost:5001", true);
   xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
           alert(xmlhttp.responseText);
        } 
   }
   xmlhttp.send();
}

我遇到过两种从Node.js发送responseText的方法,但无法让它们工作 第一个使用var accountSid = 'ACCOUNT_SID'; var authToken = 'ACCOUNT_TOKEN'; //require the Twilio module and create a REST client var client = require('twilio')(accountSid, authToken); var express = require("express"); var app = express(); app.get('/',function(request,response){ var to = "TO"; var from = "FROM"; client.messages.create({ to: to, from: from, body: 'Another message from Twilio!', }, function (err, message) { console.log("message sent"); }); }); app.listen(5001); 或第二个使用response.send("Hello World");

所以只是总结一下,我想通过我的http请求发送变量(to,from,message等),在node.js中捕获它们并发送responseText!作为一个提醒,我对JS和PHP之间的AJAX请求非常满意,但Node.js对我来说是新的。

提前致谢

1 个答案:

答案 0 :(得分:0)

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

https://www.twilio.com/docs/guides/sms/how-to-receive-and-reply-in-node-js

右侧的CodeRail将逐步引导您完成它,但您应特别注意标题为“#34;生成动态TwiML消息"”的部分。

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");
});