gpt4 book ai didi

javascript - jQuery:表单数据不支持的媒体类型

转载 作者:行者123 更新时间:2023-11-28 10:38:59 24 4
gpt4 key购买 nike

我正在通过 REST API 上传表单数据,并且我正在使用以下代码。它给我错误代码 415,媒体类型不受支持。

有错误的地方请指正。

var device = new FormData();
device.append("device_id", "2");
device.append("Img","D:\\Main\\xampp\\htdocs\\test\\img\\default.png");

$.ajax(
{
type: 'POST',
url: getApiURL(25),
data: device,
processData: false,
"mimeType": "multipart/form-data",
headers: {
"Authorization": "Basic " + base_64_firebase_token,
"Content-Type": "application/x-www-form-urlencoded",
},
success : function(data){
callback(data);
},
error: function (xhr,ajaxOptions,throwError){
console.log(xhr);
console.log(ajaxOptions);
console.log("Error!!!"+throwError);
}
}
);

最佳答案

如果您只想添加静态图像,则在服务器端执行此操作,如果仍然需要或用户添加图像,则必须发送,然后执行以下操作:

为了正确使用表单数据,您需要执行 2 个步骤。

准备工作

您可以将整个表单交给 FormData() 进行处理

var form = $('form')[0]; // You need to use standard javascript object here
var formData = new FormData(form);

或为 FormData() 指定准确的数据

var formData = new FormData();
formData.append('section', 'general');
formData.append('action', 'previewImg');
// Attach file
formData.append('image', $('input[type=file]')[0].files[0]);

发送表单

使用 jquery 的 Ajax 请求将如下所示:

$.ajax({
url: 'Your url here',
data: formData,
type: 'POST',
contentType: false, // NEEDED, DON'T OMIT THIS (requires jQuery 1.6+)
processData: false, // NEEDED, DON'T OMIT THIS
// ... Other options like success and etc
});

此后,它将发送 ajax 请求,就像您使用 enctype="multipart/form-data"提交常规表单

更新:如果选项中没有type:"POST",则此请求无法工作,因为所有文件都必须通过 POST 请求发送。

注意: contentType: false 仅可用 from jQuery 1.6 onwards

关于javascript - jQuery:表单数据不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956543/

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