我想弄清楚如何发送PUT请求中的参数。我有一个很好的JavaScript接口,所以我知道服务器端工作,但我的单元测试从不正确地发送PUT参数。以下是我已经试过:如何在ZendFramework2中发送PUT请求?
$this->request->getQuery()->set("id", $id);
$params = array(
'attribute' => 'email',
'email' => '[email protected]',
);
// 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参数的正确方法是什么?
您可以使用'$ this-> request-> getPost() - > fromArray'来代替foreach循环来复制数组。 – Maxence 2013-11-15 13:19:36