javascript - jQuery 表单数据传递为空
问题描述
我有一个 ajax 调用,在提交按钮上单击 ajax 调用启动
<form id="editPet" method="patch" enctype="multipart/form-data">
inputs...
<button id="updatePet" data-id="{{ $pet->uuid }}" data-token="{{ csrf_token() }}" type="button">SAVE</button>
</form>
阿贾克斯调用:
$('#updatePet').click(function(e) {
e.preventDefault();
let petId = $(this).data("id");
$.ajaxSetup({ headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
$.ajax({
url: "/my/pet/update/" + petId,
type: "patch",
data: new FormData($("#editPet")[0]),
cache: false,
contentType: false,
processData: false,
success: function(response) {
// Do something
},
error: function(error) {
// Do something
}
});
});
在服务器端,我收到的dd($request->all())
是空数组的请求。
我在这里想念什么?
解决方案
该问题通过删除解决:
contentType: false,
processData: false,
正如评论中提到的@Taplar,
“默认情况下,作为对象(从技术上讲,不是字符串)传递给数据选项的数据将被处理并转换为查询字符串,适合默认的内容类型“application/x-www-form-urlencoded "
推荐阅读
- sapui5 - sap.ui.table 中的 Excel 导出问题
- plpython - 将数据从 POSTGRESQL 触发器发送到 python TCP 服务器
- azure-data-factory - 在 Azure 数据工厂中使用 @item().name 设置“复制数据”源文件夹
- html - 如何在 Firefox 响应式设计模式下呈现实际设备屏幕尺寸?
- vba - Ms Access VBA 删除查询
- django - Django get_or_create 多行没有循环
- regex - 正则表达式使用 Google Apps 脚本格式化字符串中的数字
- java - Java自定义注解创建
- eclipse - Eclipse 的 Scala 测试问题,无法运行
- github-pages - Gatsby 图像不工作 - 部署时图像模糊或根本不显示