0

我可以用户发布创建和更新的方法吗?

我已经尝试过“PUT”方法来更新资源,但我没有在服务器端获取参数。

4

2 回答 2

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 动词。

https://github.com/philsturgeon/codeigniter-restserver

于 2012-11-20T05:00:17.887 回答
0

是的。由于 PUT 或 DELETE 方法缺乏一致的客户端实现,标准做法是发送 POST 请求,然后 A)使用查询字符串参数(即?_method=PUT)或 B)发送X-METHOD-OVERRIDE标头。

(快速谷歌搜索返回:http ://www.endurasoft.com/Blog/post/X-HTTP-Method-Override.aspx )

您可能需要扩展 CI_Input 类以了解创建操作和更新之间的区别。

于 2012-11-20T05:05:55.203 回答