通过 NodeJS 将对象传递给 PHP

Pass object through NodeJS to PHP

我正在尝试用两个 keys/values 传递对象,我想在让 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,以便存储它。

任何提示将不胜感激。

oWeather 是 JSON 字符串。更改

res.end(sWeather+'\n');

res.end(oWeather+'\n');

然后 PHP 方必须解码 JSON

$responseFromNode = json_decode( file_get_contents("IP address") );

备注:

  • 您还应该更改内容类型:res.writeHead(200, {'Content-Type': 'application/json'});,如 Brian Glaz
  • 所述
  • 你的变量名被颠倒了:
    • oWeather应该是对象
    • sWeather 应该是 JSON 字符串