Php 使用PUT方法AJAX会导致空$request->;Laravel 6中的all()数组
出于测试目的,我有一个非常简单的表单,当我尝试使用$.ajax放置formData时,我会得到一个空的数组响应,但是只有当我使用PUT方法时,如果我使用POST而不是PUT方法,那么这种情况才会发生 我使用的是Laravel 6,每个函数中都有一个var_转储:Php 使用PUT方法AJAX会导致空$request->;Laravel 6中的all()数组,php,ajax,laravel,api,Php,Ajax,Laravel,Api,出于测试目的,我有一个非常简单的表单,当我尝试使用$.ajax放置formData时,我会得到一个空的数组响应,但是只有当我使用PUT方法时,如果我使用POST而不是PUT方法,那么这种情况才会发生 我使用的是Laravel 6,每个函数中都有一个var_转储: var\u dump($request->all()) 当我使用PUT方法时,我得到: array(0) {} array(4) { ["form1"]=> string(1) "1" ["form2"]=> strin
var\u dump($request->all())
当我使用PUT方法时,我得到:
array(0) {}
array(4) { ["form1"]=> string(1) "1" ["form2"]=> string(1) "2" ["form3"]=> string(1) "3" ["form4"]=> string(1) "4" }
当我使用POST方法时,我得到:
array(0) {}
array(4) { ["form1"]=> string(1) "1" ["form2"]=> string(1) "2" ["form3"]=> string(1) "3" ["form4"]=> string(1) "4" }
我需要formData,因为我要放置图像文件。我在寻找另一个类似的问题,但没有人解决我的问题
还有其他方法可以执行此操作吗
接受
$(文档).ready(函数(){
$('#formTest')。关于('submit',函数(e){
e、 预防默认值();
var formData=新formData($(此)[0]);
$.ajax({
url:‘电影/13’,
键入:“PUT”,
processData:false,
contentType:false,
数据:formData,
成功:功能(结果)
{
},
错误:函数(数据)
{
控制台日志(数据);
}
});
});
});
尝试在表单中添加这两个输入字段
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
第一个是将表单提交方法更改为“PUT”,第二个是将CSRF令牌包含到表单中
然后在AJAX代码中,将类型:“PUT”更改为类型:“POST”
$.ajax({
url: '<?echo($config->get('apiUrl'))?>movies/13',
type: 'POST',
processData: false,
contentType: false,
data: formData,
success: function(result) {},
error: function(data) {
console.log(data);
}
});
$.ajax({
url:‘电影/13’,
键入:“POST”,
processData:false,
contentType:false,
数据:formData,
成功:函数(结果){},
错误:函数(数据){
控制台日志(数据);
}
});
您是否在路由文件中使用Route::put()?@MatMorici是的,对于put,我使用的是:Route::put('movies/{id}','MoviesController@update'); 对于POST:Route::POST('movies','MoviesController@add');很好用!