【发布时间】:2011-08-27 08:39:39
【问题描述】:
我没有发布到正文,并且键/值对在我从 PHP 进行 curl 发布时没有显示在任何地方——它们在哪里?!
更新:
在 curl 帖子中使用 http_build_query($parameters) 有效,因为它们随后在 req.body 中可用,但 sinatra、play 和其他 web api 框架都以相同的方式处理发布的数组似乎很奇怪(w/ o http_build_query 方法),并且 express 看起来像混蛋继子。谁在右边?
app.js 有配置:
app.use(express.bodyParser());
app.use(express.methodOverride());
电话:
app.post('/call/:genericUrlParam', function(req, res){
// where is 'key'/'value' pair?!
console.log('headers: ' + JSON.stringify(req.headers));
console.log('body: ' + JSON.stringify(req.body));
});
php 的样子:
$parameters = array (
'key' => 'value'
);
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "localhost/call/myparam");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 50);
curl_setopt($curl_handle, CURLOPT_USERPWD, "username:password");
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $parameters);
$buffer = curl_exec($curl_handle);
$error = curl_error($curl_handle);
curl_close($curl_handle);
if (empty($buffer)) {
return "Error: ".$error;
} else {
return $buffer;
}
【问题讨论】:
标签: javascript post node.js express