我试图弄清楚如何在 PUT 请求中发送参数。我有一个运行良好的 javascript 界面,所以我知道服务器端可以正常工作,但我的单元测试从未正确发送 PUT 参数。这是我尝试过的:
$this->request->getQuery()->set("id", $id);
$params = array(
'attribute' => 'email',
'email' => 'new_email@email.com',
);
// Set the data to be validated
$this->request->setMethod('PUT');
// Send the additional parameters
$this->request->setContent(json_encode($params));
这是因为服务器正在寻找 $params 键“属性”,但服务器上的 $params 数组是空的——没有传入任何 $params。当我尝试时也是如此
foreach ($params as $n => $v) {
$this->routeMatch->setParam($n, $v);
}
和
foreach ($params as $n => $v) {
$this->request->getQuery()->set($n, $v);
}
和
foreach ($params as $n => $v) {
$this->request->getPost()->set($n, $v);
}
在 zf2 中发送 PUT 参数的正确方法是什么?