【发布时间】:2015-01-13 20:13:19
【问题描述】:
我正在尝试使用两个键/值传递对象,当我让 Apache 连接到它时,我想在另一端读取它。
我的 nodejs 服务器如下所示:
var sWeather = {"url1": "something", "url2": "another"};
var oWeather = JSON.stringify(sWeather);
console.log(sWeather);
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(sWeather+'\n');
}).listen(1340, '#');
console.log('Server running at http://###/');
现在我对 nodejs 真的很陌生,我已经尝试了很多东西,所以我不确定在发送之前是否需要对 sWeather 进行字符串化。
我的 PHP 文件是这样的:
<?php
$responseFromNode = file_get_contents("IP address");
var_dump($responseFromRuby);
由于var_dump,现在我在我的网页上看到了string '[object Object]。
我试过做类似的事情
$url1 = $responseFromNode->url1
或
$url1 = $responseFromNode['url1']
我只想将这两个 url 作为字符串访问,以便我可以存储它。
任何提示将不胜感激。
【问题讨论】:
-
我不知道这是不是一个错字,但你有
var_dump($responseFromRuby).. 你不是说$responseFromNode吗? -
他可能正在使用
var_dump来查看他是否从节点服务器获得了他所期望的。至于如何做到这一点,让你的 Node 端像一个 rest API,服务 JSON,在 PHP 中使用 cURL 向你的 Node 应用程序发出请求。从那里开始会很容易。 -
您还应该更改您的内容类型:
res.writeHead(200, {'Content-Type': 'application/json'});