我可以用户发布创建和更新的方法吗?
我已经尝试过“PUT”方法来更新资源,但我没有在服务器端获取参数。
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 动词。
是的。由于 PUT 或 DELETE 方法缺乏一致的客户端实现,标准做法是发送 POST 请求,然后 A)使用查询字符串参数(即?_method=PUT
)或 B)发送X-METHOD-OVERRIDE
标头。
(快速谷歌搜索返回:http ://www.endurasoft.com/Blog/post/X-HTTP-Method-Override.aspx )
您可能需要扩展 CI_Input 类以了解创建操作和更新之间的区别。