Express 将req.param升级到req.body会更改方法=发布到方法=从twilio MediaURL获取
在我的app.post文件中,我已更改Express 将req.param升级到req.body会更改方法=发布到方法=从twilio MediaURL获取,express,twilio,Express,Twilio,在我的app.post文件中,我已更改 var mediaUrl = req.param('MediaUrl' + i); //deprecated in express 4 到 查看我的控制台日志时,它确实链接到twilio MediaURL0。但是在Heroko日志上 heroku[router]: at=info method=POST path="/message" host=(removed).herokuapp.com request_id=(removed)" dyno=web.
var mediaUrl = req.param('MediaUrl' + i); //deprecated in express 4
到
查看我的控制台日志时,它确实链接到twilio MediaURL0。但是在Heroko日志上
heroku[router]: at=info method=POST path="/message" host=(removed).herokuapp.com request_id=(removed)" dyno=web.1 connect=0ms service=95ms status=200 bytes=256 protocol=https
变成
heroku[router]: at=info method=GET path="/null" host=(removed).herokuapp.com request_id=(removed) fwd="74.3.132.218" dyno=web.1 connect=0ms service=3ms status=304 bytes=146 protocol=https
当我升级的时候。我想弄明白的是,为什么MediaURL会变成Method=GET,而其他任何信息都会变成Method=POST。我要求我的MediaURL成为我的Twilio短信应用程序工作的Method=POST
这是我完整的应用程序
app.post('/message', function (req, res) {
groupRef.where( {"memberNumber":req.body.From} ).limit(1).on( "value", function ( data ){
if( data.count() ){
data.forEach( function( snapshot ){
var member = snapshot.value();
messagesRef.push({
sid: req.body.MessageSid,
type:'text',
tstamp: new Date().toLocaleString('en-US', { timeZone: "America/Denver" }),
fromName:member.memberName,
fromNumber:req.body.From,
message:req.body.Body,
media:"",
groupNumber:req.body.To
});
});
}
});
var numMedia = parseInt( req.body.NumMedia );
if (numMedia > 0) {
for (i = 0; i < numMedia; i++) {
//var mediaUrl = req.body.MediaUrl + i;
//var mediaUrl = req.params.MediaUrl + i;
var mediaUrl = req.param('MediaUrl' + i); //deprecated in express 4
groupRef.where( {"memberNumber":req.body.From} ).limit(1).on( "value", function ( data ){
if( data.count() ){
data.forEach( function( snapshot ){
var member = snapshot.value();
messagesRef.push({
sid: req.body.MessageSid,
type:'text',
tstamp: new Date().toLocaleString('en-US', { timeZone: "America/Denver" }),
fromName:member.memberName,
fromNumber:req.body.From,
message:"",
media:mediaUrl,
groupNumber:req.body.To
});
});
}
});
}
}
var resp = new twilio.TwimlResponse();
resp.message('Message received.');
res.writeHead(200, {
'Content-Type':'text/xml'
});
res.end(resp.toString());
app.post('/message',函数(req,res){
groupRef.where({“memberNumber”:req.body.From}).limit(1).on(“value”),函数(数据){
if(data.count()){
data.forEach(函数(快照){
var member=snapshot.value();
messagesRef.push({
sid:req.body.MessageSid,
类型:'text',
tstamp:new Date().tolocalesting('en-US',{时区:“美国/丹佛”}),
fromName:member.memberName,
fromNumber:req.body.From,
消息:req.body.body,
媒体:“,
组号:req.body.To
});
});
}
});
var numMedia=parseInt(req.body.numMedia);
如果(numMedia>0){
对于(i=0;i
})) 如果必须计算对象属性名称,则必须使用括号表示法来访问它
var mediaUrl = req.body['MediaUrl' + i];
我不好意思说我试过var mediaUrl=req.body。['mediaUrl'+I];我会尽快接受这个答案。谢谢你的帮助
var mediaUrl = req.body['MediaUrl' + i];