当我将内容类型设置为 multipart / form-data 时,但是当我将内容类型设置为 application / x-时,我很难从请求中获取值www-form-urlencoded 一切正常。这些值似乎为空。
Laravel API代码段:
use Illuminate\Http\Request;
...
public function foo(Request $req){
echo $req->get('some_key');
}
我尝试通过 $ req-> get('key_name'), $ req-> key_name 提取值,但无济于事。调用 $ req-> all()方法可为我提供具有正确内容的数组,但我也难以从中提取值,是否有更简单的方法来实现此目的?预先感谢。
答案 0 :(得分:1)
使用multipart/form-data
时,请将操作设置为PUT
或PATCH
,并确保使用FormData
对象客户端:
let Data = new FormData();
// using vuejs as an example of appending files.
Data.append( 'your_file', this.$refs.input.files[0], this.$refs.input.files[0].name );
Data.append('_method', 'PATCH');
axios.post('/api/foo', Data ).then( Response => {
// handle success
});