我想了Twilio的請求參數格式正在返回JSON序列化數據--according爲響應回調部分(http://twilio.github.io/twilio-node/#restResources)如何訪問特定的請求參數
列出的文檔。如果是這樣的話我以爲我可以使用JSON.parse訪問請求參數(特別是文本正文),如下所述...但是我沒有得到任何類型的響應。
var http = require('http');
var twilio = require('twilio');
http.createServer(function (req, res) {
var body = '';
req.on('data', function(data) {
var messageBody = JSON.parse(data);
body += messageBody.body;
});
req.on('end', function() {
//Create TwiML response
var twiml = new twilio.TwimlResponse();
twiml.message('Thanks, your message of "' + body + '" was received!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
});
}).listen(8080);
在此之前,我曾嘗試訪問參數,如下圖所示......但正文文本總是返回「undefined」。
var http = require('http');
var twilio = require('twilio');
http.createServer(function (req, res) {
var body = '';
req.on('data', function(data) {
body += data.body;
});
req.on('end', function() {
//Create TwiML response
var twiml = new twilio.TwimlResponse();
twiml.message('Thanks, your message of "' + body + '" was received!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
});
}).listen(8080);
如果我只是做body += data;
然後我收到的所有組合在一起的請求參數的 - 我不需要。
想法?你能解釋一下如何訪問特定的請求參數嗎?
** * ** * ***修訂* ** * ** * ** 納入@六氰化物的建議後,我結束了用以下代碼工作
var http = require('http');
var twilio = require('twilio');
var qs = require('querystring');
http.createServer(function (req, res) {
var body = '';
req.setEncoding('utf8');
req.on('data', function(data) {
body += data;
});
req.on('end', function() {
var data = qs.parse(body);
var twiml = new twilio.TwimlResponse();
var jsonString = JSON.stringify(data);
var jsonDataObject = JSON.parse(jsonString);
twiml.message('Thanks, your message of ' + jsonDataObject.Body + ' was received!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
});
}).listen(8080);
再次感謝您的反饋,我一定會檢查出快速模塊;然而,與此同時,新的更改導致502插槽掛斷錯誤。你有任何建議修復插座掛斷錯誤?因爲我仍然無法解析參數。 – NateHill
你在哪裏得到套接字掛斷? – hexacyanide
不確定。我如何找到這些信息?不知道如何調試它,因爲你無法逐步完成每一步。代碼如上所述,並且您的建議得以實施。 – NateHill