php 获取delete蚕丝_100分求助:PHP如何获取PUT和DELETE请求的参数

PHP RESTful Hi,大家好,我在尝试用PHP实现RESTful API接口,现在遇到了一个问题:

当请求类型是POST或GET的时候,PHP可以很容易地通过$_POST、$_GET和$_REQUEST来获取客户端输入的参数;但是当请求类型是PUT或DELETE时,我不知道PHP应该使用哪种方法来获取参数。

大家有没有遇到过类似的问题?请不吝赐教~

回复讨论(解决方案)

最笨的方法:$method = $_SERVER['REQUEST_METHOD']

然后判断

最笨的方法:$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 编辑 some.php

$type = $_SERVER['REQUEST_METHOD'];parse_str(file_get_contents('php://input'), $data);$data = array_merge($_GET, $_POST, $data);//根据 $type 的值做相应的操作

感谢大家的回复,我现在开发环境的机器挂了,回头好了我去测试一下,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中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值