100分求助:PHP如何获取PUT和DELETE请求的参数 Hi,大家好,我在尝试用PHP实现RESTful API接口,现在遇到了一个问题:当请求类型是POST或GET的时候,PHP可以很容易地通过$_POST、$_GET和$_REQUEST来获取客户端输入的参数;但是当请求类型是PUT或DELETE时,我不知道PHP应该使用哪种方法来获取参数。大家有没有遇到过类似的问题?请不吝赐教~PHPRESTful 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最笨的方法:$method = $_SERVER['REQUEST_METHOD']然后判断 感谢回复,想继续请教下,比如说有如下场景:使用jQuery发送一个PUT请求,$.ajax({ type: "PUT", url: "some.php", data: { name: "Riki", location: "China" }, success:function(returnVal){ //do something here. }});data里的参数我如何在PHP里获取呢? 谢谢! put和delete,你用$_GET获取看看 为什么非要把PUT指定为类型呢,不能指定为行为吗? 同意楼上。原则上,GET/POST是决定支持的,对其它谓词的支持要看服务器。一般也都会以GET/POST去模拟。 本帖最后由 xuzuning 于 2013-10-08 11:52:45 编辑 感谢大家的回复,我现在开发环境的机器挂了,回头好了我去测试一下,Thanks!To 4楼和5楼的朋友: 原则上GET和POST确实能满足要求,但是目前我比较想实现更高的RESTful架构的成熟度,对于一个URI,比如http://myapi/order,代表了订单资源,对于这个资源的增删改查操作,都由这个URI来实现,当服务端收到用户的Request请求时,根据这次请求的类型来决定如何进行处理,GET对应Read,POST对应Create,PUT对应Update,DELETE对应Delete操作。 只用GET和POST当然也能模拟,我们可能会将URI变成这样:http://myapi/order/update或者http://myapi/order/delete,将行为定义到URI中。当然,将行为定义到指定的参数中按说也可以。 6楼朋友的方法可以取到PUT过来的参数:parse_str(file_get_contents('php://input'), $data)$_GET貌似取不到参数以上,谢谢大家的帮助,结贴了 php调用html文件是问题 求一个正则表达式 求一个php批量更新数据库的程序 PHP生成图片缩略图源代码----分享一下,我试了试,真的能用。这年头找个真能用的东西真不太多了 为何PHP5下不能用MYSQL 关于网络WEB访问的问题 PHP+MYSQL,新注册的用户怎么创建数据库连接? mysql里怎么取消auto_increment的排序? 跨域的session传递 这是什么原因? 求一段php调用txt文件数据并赋值的代码 array_search()函数,第3个参数,有什么作用?
然后判断
$.ajax({
type: "PUT",
url: "some.php",
data: { name: "Riki", location: "China" },
success:function(returnVal){
//do something here.
}
});data里的参数我如何在PHP里获取呢? 谢谢!
原则上GET和POST确实能满足要求,但是目前我比较想实现更高的RESTful架构的成熟度,对于一个URI,比如http://myapi/order,代表了订单资源,对于这个资源的增删改查操作,都由这个URI来实现,当服务端收到用户的Request请求时,根据这次请求的类型来决定如何进行处理,GET对应Read,POST对应Create,PUT对应Update,DELETE对应Delete操作。
只用GET和POST当然也能模拟,我们可能会将URI变成这样:http://myapi/order/update或者http://myapi/order/delete,将行为定义到URI中。当然,将行为定义到指定的参数中按说也可以。
parse_str(file_get_contents('php://input'), $data)$_GET貌似取不到参数以上,谢谢大家的帮助,结贴了