PHP获取控制器中的PUT和DELETE数组
我正试图通过DOJO请求向我的控制器发出请求PHP获取控制器中的PUT和DELETE数组,php,Php,我正试图通过DOJO请求向我的控制器发出请求 request("/category/", { method: "PUT", data: { original: event.target.getAttribute("data-original"), edited: event.target.getAttribute("data-edited"),
request("/category/", {
method: "PUT",
data: {
original: event.target.getAttribute("data-original"),
edited: event.target.getAttribute("data-edited"),
id: event.target.getAttribute("data-id")
}
}).then(function(response) {
response = JSON.parse(response);
if(response.success) {
createRow(response.id);
} else {
// handle validation errors here
}
});
它向我的/category/
路由发出PUT请求,该路由被拾取并发送到控制器,此时我想访问$\u PUT
超全局,我认为它的存在方式与访问$\u POST
超全局的方式不同
public function putIndex()
{
try {
try {
$this->category->edit(
new CategoryVO($request['id'], $request['original']),
new CategoryVO($request['id'], $request['edited'])
); // This is where I'd like to access the values sent in the PUT request
echo json_encode(
array(
"success" => true
)
);
} catch (CategoryValidation $validationException) {
echo json_encode(
array(
"success" => false,
"validation_errors" => $this->service->prepareErrors(
$validationException
)
)
);
}
} catch(\Exception $e) {
echo json_encode(
array(
"success" => false,
"unexpected_exception" => true
)
);
}
}
仅供参考:定制框架,因此没有zf2/codeigniter可能附带的任何好功能 看看这是否有助于您:
基本上,您需要获取请求方法(我想它可能会派上用场),然后检索数据,并以静态方式存储它。您是正确的,没有
$\u PUT
超全局,在PUT
请求中发送的数据不会出现在$\u POST
中
您必须从php://input
然后将其存储在某个地方
通过谷歌搜索“PHP PUT data”可以得到这个最佳结果,这是一个很好的例子: