ajax - laravel-使用ajax在控制器中请求为空
问题描述
我正在使用 laravel 6.0,并且正在构建 crud 应用程序。我在视图文件中有以下 jquery 代码
function updaterecord(id) {
$('#modalupdate').on('submit', function (e) {
e.preventDefault();
$.ajax({
url: 'update/'+id,
method: 'post',
success: function (res) {
console.log(res);
}
})
});
}
这是控制器中的代码
public function update(Request $request, $id='') {
$country = $request->input('countryname');
$sortname = $request->input('sortname');
$phonecode = $request->input('phonecode');
//return $country.$sortname.$phonecode;
return $request;
// DB::table('countries')->where('id',$id)->update(
// [
// 'name' => $country,
// 'sortname' => $sortname,
// 'phonecode' => $phonecode,
// ]);
}
问题是 $request 返回空。如果我不使用 ajax,那么我将获得所有输入值。但我不知道为什么它不适用于 ajax 请求。我也在视图文件中添加了这一行
headers: {
'X-CSRF-TOKEN': '{!! csrf_token() !!}'
}
});
请帮我解决这个问题
解决方案
您没有传递表单数据。尝试这个:
function updaterecord(id) {
$('#modalupdate').on('submit', function (e) {
e.preventDefault();
$.ajax({
url: 'update/' + id,
method: 'post',
data: $(this).serialize();
success: function (res) {
console.log(res);
}
})
});
}
推荐阅读
- python - Python beautifulsoup解析html
- ios - 是否可以在默认初始化代码运行后立即运行初始化代码?
- google-cloud-platform - GCP:从 Cloud Function 启动 Compute Engine 实例时无法设置元数据
- reason - 在 reasonML 中结合两个 switch case
- c# - 如何同时打印多个随机列表
- java - 排序算法中的程序中断块
- ios - 基于启动故事板加载屏幕偏离中心?
- javascript - 调用js函数时会调用cefsharp浏览器的哪个事件?
- node.js - nodejs api什么都不返回
- mysql - 我的 fetch into 语句中的变量数的 Cursorfetch 错误