我正在尝试在 Heroku 上运行的 node.js 服务器中接收从客户端 adobe air 应用程序发送的数据,但没有成功。
这就是我发送数据的方式:
var loader : URLLoader = new URLLoader();
var request : URLRequest = new URLRequest("http://127.0.0.1:5000");
request.method = URLRequestMethod.GET;
loader.dataFormat = URLLoaderDataFormat.TEXT;
var variables:URLVariables = new URLVariables();
variables.data = 'this is data';
request.data = variables;
loader.addEventListener(Event.COMPLETE, onRestaurantObjectLoadComplete);
loader.load(request);
还有我用于接收请求的 Node.js 代码:
app.get('/',function (request, res) {
console.log("received request data" + request.data );
});
app.listen(port, function() {
console.log("Listening on " + port);
});
请求到达服务器,我可以将答案发送给客户端,但数据始终未定义。
此外,如果我尝试使用 POST 方法发送数据,我会在 AIR 应用程序中收到 Stream 错误。
从 AIR 应用程序向 node.js 服务器发送数据的正确方法是什么?
编辑:我设法使它在本地工作,但是当我将它上传到 heroku 时,它不起作用。我将请求发送到 http://: (与我在本地所做的相同,但 myHerokuApp.com 是本地主机)并且我不断收到流错误。发送请求的正确 URL 必须是什么?