【问题标题】:How to get PUT and DELETE parameters from HTTPRequest in SilverStripe?如何从 SilverStripe 中的 HTTPRequest 获取 PUT 和 DELETE 参数?
【发布时间】:2018-07-21 05:54:28
【问题描述】:

HTTPRequest 中有 getVars()、postVars() 和 requestVars() 方法。
它们从 GET 和 POST 请求返回参数。

但是如何从 PUT 和 DELETE 请求中获取参数?

我知道在 HTTPRequest 的某处有一个“body”属性。它包含查询字符串或类似内容中的 PUT 参数。 要使用此属性,我需要解析“body”字段。

有没有办法以舒适的方式获取这些参数,例如 GET 和 POST?

【问题讨论】:

  • 值得注意的是,在 PHP 中,POST 和 GET 与它们的 HTTP 方法没有太大关系。 'GET' 变量可用于每种方法。 php 中的 'GET' 和 'POST' 实际上是根据 HTML 表单中的 'method' 属性命名的。

标签: ajax rest silverstripe put


【解决方案1】:

你需要按照老派的方式来做。

parse_str($request->getBody(), $params);
$foo = $params['Foo'];

请记住,parse_str 的第二个参数是一个引用,因此在调用函数调用之前无需定义该变量。

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多