2016-03-28 33 views
0

我正在为使用服务器端的nodejs的Android应用程序构建后端,android应用程序向服务器发出POST请求,并向服务器发送所需的参数,服务器负责执行处理并发送响应到请求的用户作为SMS.I有一个事务性的SMS网关API,它可以完美地发送SMS作为来自浏览器的GET请求。但是同一个API在发送GET请求到API使用请求模块节点脚本...在节点JS中发出GET请求的问题

下面给出的是我的代码,请建议我要去哪里错了..

var express = require('express'); 
var request = require("request"); 
var bodyParser = require('body-parser'); 
var app = express(); 
var userName = "myUserName"; 
var passWord = "myPassWord"; 
var senderID = "mySenderID"; 
var content; 
var from_number; 

app.set('port', (process.env.PORT || 5000)); 
app.use(express.static(__dirname + '/public')); 
app.get('/', function(request, response) { 
response.send('We Dont Reply for GET/,make a POST/ instead..'); 
}); 

app.post('/', 
bodyParser.urlencoded({ extended: true }), 
function(req, res) { 
    content = req.body.content; //Parameters passed as POST Request from my Android App 
    from_number = req.body.from_number; 
    console.log('making request to offlinebrowser-web with URL as ' + content + ' and sender as ' + from_number); 
    request("http://offlinebrowser-web.appspot.com/ExtractServlet?url=http://"+content+"&OutputType=1&ExtractorType=1", function(error, response, data) { 
    console.log('backend response : ' + data); //logs to console the valid output of GET Request 
    console.log('initiating response module'); 
    request("**3.*5.*4.1*9/api/v3/sendsms/plain?user="+userName+"&password="+passWord+"sZd5y6AA&sender="+senderID+"&SMSText="+data+"&type=longsms&GSM="+from_number, function(error, response, body) 
    //making a GET request to the above link in browser,perfectly sends an SMS,but here doesnt work! 
    { 
     console.log(body); //this line logs undefined to the console 
    }); 
    res.status(200).end(); 
    }); 
}); 
app.listen(app.get('port'), function() { 
    console.log('Node app is running on port', app.get('port')); 
}); 
+0

您是否在console.log中输入错误或状态码?如果是这样,他们是什么? – scottjustin5000

+0

正如我在代码 –

+0

中的评论中提到的,API请求日志'undefined'的console.log(body)当然,但错误或状态代码又如何? – scottjustin5000

回答

1

我已经解决了这个问题,只需在API URI前加一个http://