我从其他帖子中获取了一些代码来实现Apache应用程序以请求Node应用程序。 以下节点应用“工作”但我无法访问未定义的帖子参数。
//NODE
express = require('express');
bodyParser = require('body-parser');
app = express();
port = 3000;
app.use(bodyParser.json());
app.post('/get_php_data', function (req, res) {
// php array will be here in this variable
var data = req.param.data; // I've tried req.body.data;
var response = String(data)+String((7*data+3*data+1*data) % 3);
console.log(req); // This seems log req parameter in a loop
res.send(data);
});
app.listen(port);
PHP-part(只有一个参数的POST请求):
echo httpPost('localhost:3000/get_php_data', array('data' => 1));
function httpPost($url,$params)
{
$postData = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, count($postData));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
此设置返回undefined。如何使用Node访问POST参数?
答案 0 :(得分:0)
嗯,答案很简单。在Node脚本中,按如下方式更改第5行:
//app.use(bodyParser.json());
app.use(bodyParser());
答案 1 :(得分:0)
如果它们在同一台机器上,您不必运行服务器,您可以使用php``解释命令行。无需在同一台机器上运行http即可到达它。