gpt4 book ai didi

javascript - 如何在laravel中使用jquery ajax中的formData上传文件

转载 作者:行者123 更新时间:2023-11-28 17:43:35 30 4
gpt4 key购买 nike

我正在使用 laravel 5.4 和 jquery Ajax 上传文件和一些表单数据。

我正在使用下面的代码

function submitDocument(){
var formData = new FormData(); // Currently empty
var _token = $("#_token").val().trim();
formData.append('title', $("#title").val());
formData.append("doc",$("#doc")[0].files[0]);
$.ajax({
url: "documents",
method: "post",
data:{_token,formData},
}).done(function(data) {

});
return false;// Not to submit page
}

我收到错误

Uncaught TypeError: Illegal invocation

enter image description here

我该如何解决这个问题?预先感谢您的宝贵时间。

我可以使用

获取 formData 中的值
console.log(formData.get('title'));
console.log(formData.get('doc'));

enter image description here

最佳答案

尝试在代码中添加 processData: false, contentType: false

将您的脚本替换为:

function submitDocument(){
var formData = new FormData(); // Currently empty
var _token = $("#_token").val().trim();
formData.append('title', $("#title").val());
formData.append("doc",$("#doc")[0].files[0]);
$.ajax({
url: "documents",
method: "post",
data:{_token,formData},
cache : false,
processData: false,
contentType: false
}).done(function(data) {

});
return false;// Not to submit page
}

默认情况下,作为对象传递到数据选项的数据将被处理并转换为查询字符串,适合默认内容类型“application/x-www-form-urlencoded”。如果您想发送 DOMDocument 或其他未处理的数据,请将此选项设置为 false。

关于javascript - 如何在laravel中使用jquery ajax中的formData上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47363928/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com