php - 请求输入 laravel ajax 在更新方法上返回 null
问题描述
我尝试使用 ajaxput
方法更新 laravel 中的数据,当我回显请求输入时,结果为空,这是我的 ajax
let formData = new FormData();
formData.append('name', 'lorem ipsum'); // I want get this
$.ajax({
url : 'product/17',
method : 'put',
data: formData,
contentType: false,
processData: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success : function(res){
alert(res); // result is null
}
});
路线 :
Route::resource('/product', 'ProductController');
控制器 :
public function update(Request $request, $id){
echo $id; // result is 17
echo $request->input('name'); // result is null :(
}
我一直在搜索并尝试其他代码但无法正常工作,如何解决?谢谢
解决方案
我想可能是因为请求的方法。发送 put 请求的方式与普通的 get/post 请求不同。你可以这样修改:
let formData = new FormData();
formData.append('name', 'lorem ipsum'); // I want get this
formData.append('_method', 'put'); // Specify method
$.ajax({
url : 'product/17',
method : 'post',
data: formData,
contentType: false,
processData: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success : function(res){
alert(res); // result is null
}
});
现在,您可以使用相同的方法访问数据。
$request->input('name');
我希望你明白。
推荐阅读
- youtube-iframe-api - Youtube Frame API:未捕获的类型错误:无法读取未定义的属性“匹配”
- java - 为什么字符串被打印为数字?
- ios - 即使没有添加或删除单元格,也未定义 UICollectionViewFlowLayout 的行为
- azure - Azure 生命周期管理策略:Powershell 问题
- javascript - 如何使用 p5JS 库将 GIF 分配给 JS 中的精灵?
- javascript - 当我用 fillText() 写东西时,为什么我的自定义字体不会显示?
- c++ - 如何在 consteval 的编译时初始化可变数量的模板
- reactjs - How to change this carousel from auto fade to auto slide
- javascript - I am getting `unknown mutation type: mobilenav/showmobilenav` toggling a sidebar
- node.js - How get usernames from IDs in discord.js