我可以使用post方法进行创建和更新吗?
我尝试过“PUT”方法来更新资源,但我没有在服务器端获取参数。
答案 0 :(得分:1)
PUT不是通过PHP本地处理(即$ _PUT),也不是通过CodeIgniter处理的。我要做的两件事:1)抓住你自己的PUT变量或2)使用Phil Sturgeon的REST库。
//put an associative array into $post_vars variable
parse_str(file_get_contents("php://input"),$post_vars);
来源:http://www.lornajane.net/posts/2008/accessing-incoming-put-data-from-php
但是,由于您正在使用CodeIgniter,如果您找不到真正的理由,您应该使用Phil Sturgeon的库。经过尝试,验证并测试并处理了所有HTTP动词。
答案 1 :(得分:0)
是。由于缺少PUT或DELETE方法的一致客户端实现,标准做法是发送POST请求,并且A)使用查询字符串参数(即?_method=PUT
)或B)发送X-METHOD-OVERRIDE
标头。
(快速Google搜索返回此内容:http://www.endurasoft.com/Blog/post/X-HTTP-Method-Override.aspx)
您可能需要扩展CI_Input类以了解创建操作和更新之间的区别。