天儿真好,
我遇到通过Chrome Postman向控制器发出PUT请求的问题,PUT数据不存在,POST数据工作正常.
我之前已经执行过编写器更新,以确保最新版本的供应商产品可用,甚至删除了bootstrap/compiled.php.
还有其他人有类似问题吗?
响应中的section_id和data都为空的更新函数:
public function update($id)
{
$section_id = Input::get('section_id');
$data = Input::all();
return Response::json(array('id' => $id, 'section_id' => $section_id, 'data' => $data));
}
Run Code Online (Sandbox Code Playgroud)
我已经一直调试代码到ParameterBag.php和$ this->请求的参数列表是空的,我不确定什么应该包含任何值,但所有通过代码输入值为空.不知道现在该做什么,缺少使用post而不是put.
PUT参数不能"开箱即用",因为PHP本身对它们有一些安全限制.请参阅:http://www.php.net/manual/en/features.file-upload.put-method.php
不过,Laravel确实为此实现了一个共同的解决方法.
在邮递员(或您的表单,或卷曲,或您正在使用的任何客户端),只需添加一个URL参数名称:"_ method"值:PUT
例1:?_ method = PUT
示例2:<input type ="hidden"name ="_ method"value ="PUT"/>
Laravel使用symfony Http Foundation来检查_method变量,如果它存在,它会根据其值而不是实际使用的HTTP方法进行路由.
| 归档时间: |
|
| 查看次数: |
3495 次 |
| 最近记录: |