gpt4 book ai didi

javascript - 为什么FormData报错

转载 作者:可可西里 更新时间:2023-11-01 05:28:32 26 4
gpt4 key购买 nike

我正在尝试使用 ajax 和 FormData 上传图片

我的 html 看起来像:

<form id="profile-photo-form">
<input type="file" id="profile-photo-choose" name="photo_path" accept="image/*">
</form>

和在文件选择器更改时调用的 js 函数:

var form_data = new FormData($('#profile-photo-form')[0]);

$.ajax({
type: 'POST',
url: api_url,
data:form_data,
headers:{
'X-CVL-Auth': cookie
},
success: function(result){

但是我得到一个 javascript 错误:

TypeError: Can only call DOMFormData.append on instances of DOMFormData

这是一个在 ios (phonegap) 上加载的 html 应用程序

最佳答案

其他评论指出您可以只使用 .serialize(),但是,这不适用于包含图像的任何字段。

使用相同的方法,简单地添加另一个设置 processData: false 以阻止 JS 尝试查看您的数据,而是将它返回的所有内容作为哈希提交。

我没有测试过所有情况,但是这应该以与您在没有 AJAX 的情况下提交时完全相同的格式提交数据。

var form_data = new FormData($('#profile-photo-form')[0]);

$.ajax({
type: 'POST',
url: api_url,
data:form_data,
processData: false, // add this here
headers:{
'X-CVL-Auth': cookie
},
success: function(result){

关于javascript - 为什么FormData报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27800065/

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