在这里,我的html中有一个文件选择器,选择的文件将使用ajax发送的formData
发送到Go API。但是现在我必须在ajax中发送一个带有data
的简单字符串,我要附加formData
变量,但是在控制台中没有字符串数据。
我正在使用的代码是:-
<input type="file" name="myFile" id="imageSelector"><br><br>
const data = new FormData();
var inputFile = $('#imageSelector').val().split('\\').pop();
data.append("file", $("#imageSelector")[0].files[0], inputFile);
data.append("category", "Eatables");
console.log(data)
$.ajax({
url: "/api/v1/upload",
type: "POST",
contentType: false,
processData: false,
data: data,
success: function(response){
console.log(response)
}
});
我如何发送带有字符串的表单数据以及golang api会接收数据的data变量?
答案 0 :(得分:0)
您无法定向console.log(data),您可以像这样console.log(data.get('category'))
答案 1 :(得分:0)
您必须做一个简单的事情,就像我在下面告诉您的那样,将其转换为json。
data.append("category", JSON.stringify(category))
在golang上接收时,您必须使用c.PostForm("category")
(如果您使用的是gin包),并且如果要删除它们,它将输出显示为双引号字符串,您将使用以下代码:-< / p>
data.append("category", JSON.stringify(category).replace(/\"/g, ""));
我希望它能对您有所帮助:)