我正在使用codeigniter框架创建一个API服务器,我想知道是否可以从任何客户端表单提交中读取PUT和DELETE请求?用户指南对此没有过多解释。
bvpmtnay1#
您可以尝试先检测方法类型,然后区分不同的情况:
switch($_SERVER['REQUEST_METHOD']){ case 'GET': ... break; case 'POST': ... break; case 'PUT': ... break; case 'DELETE': ... break; default: echo "Unknown Request."; }
j0pj023g2#
HTML标准不支持<form method="">属性中的PUT,浏览器也不支持它。浏览器通常不支持HTML表单中除GET和POST以外的方法。如果您放置除POST或GET以外的任何内容,则应根据规范将其作为GET请求发送。在表单中使用隐藏的method字段,并将实际的HTTP。使用this library
<form method="">
PUT
POST
GET
method
kmynzznz3#
在codeigniter中,您可以使用以下命令获取PUT或DELETE的值:$this-〉输入-〉原始输入流;您可以将字符串url拆分为array,并使用以下方法将array的值放入object中set_array()您必须在model中创建此方法,以将每个值设置为right属性,您可以通过在项目中自定义此代码来使用它:
$method = $this->input->server('REQUEST_METHOD'); if($method === 'PUT') { $this->input->raw_input_stream; $input_data = $this->input->raw_input_stream; $exploded = array(); parse_str($input_data, $exploded); $daman = new damancom_model(); $daman->set_array($exploded); $daman->ID = $exploded["ID"]; $daman->edit_damancom(); }
jfewjypa4#
代码点火器3如果要使用PUT、DELETE、PATCH或其他外来请求方法,则只能通过一个只能读取一次的特殊输入流来访问它们。请参阅文档...https://codeigniter.com/userguide3/libraries/input.html#using-the-php-input-stream确保您的请求已...Content-Type: application/x-www-form-urlencoded此外,如果发送输入,您可以通过input_stream()方法获取它们,如下所示...$this->input->input_stream('user_id');(i.e.将user_id更改为您在表单中使用的任何输入名称)
Content-Type: application/x-www-form-urlencoded
$this->input->input_stream('user_id');
4条答案
按热度按时间bvpmtnay1#
您可以尝试先检测方法类型,然后区分不同的情况:
j0pj023g2#
HTML标准不支持
<form method="">
属性中的PUT
,浏览器也不支持它。浏览器通常不支持HTML表单中除GET和POST以外的方法。如果您放置除POST
或GET
以外的任何内容,则应根据规范将其作为GET请求发送。在表单中使用隐藏的
method
字段,并将实际的HTTP。使用this librarykmynzznz3#
在codeigniter中,您可以使用以下命令获取PUT或DELETE的值:$this-〉输入-〉原始输入流;您可以将字符串url拆分为array,并使用以下方法将array的值放入object中set_array()您必须在model中创建此方法,以将每个值设置为right属性,您可以通过在项目中自定义此代码来使用它:
jfewjypa4#
代码点火器3
如果要使用PUT、DELETE、PATCH或其他外来请求方法,则只能通过一个只能读取一次的特殊输入流来访问它们。
请参阅文档...
https://codeigniter.com/userguide3/libraries/input.html#using-the-php-input-stream
确保您的请求已...
Content-Type: application/x-www-form-urlencoded
此外,如果发送输入,您可以通过input_stream()方法获取它们,如下所示...
$this->input->input_stream('user_id');
(i.e.将user_id更改为您在表单中使用的任何输入名称)