如何获取内容类型
POST
的 text/html
参数而不将其作为对象发送?
就我而言,我需要在从 cookie 读取的表单之外发送额外的数据。
使用
body : {}
或 body: JSON.Stringify({})
发布数据将数据发布到对象。我希望将数据作为单独的值发布。
$(document).on('click', '#update', async () => {
try {
const response = await fetch("/getupdate",{
method:'POST',
headers:{
'Content-Type':'text/html; charset=utf-8'
},
body: JSON.stringify({
"country": getCookie("country"),
"city": getCookie("city").replace(/"/g, ""),
"action": 1,
"csrfmiddlewaretoken": $('input[name=csrfmiddlewaretoken]').val()
}),
});
} catch (error){
console.log(error)
}
});
得到一个对象而不是单个值 -
{
"country": "US",
"city": "Miami",
"action": 1,
"csrfmiddlewaretoken": "iLoS4Bsgdyc6EhOtQKiiXrIqr9S1eojdhdyEeClA8qI5ei2WpfQQu1JrduLrbndndR"
}
期望个人价值观 -
"country": "US",
"city": "Miami",
"action": 1,
"csrfmiddlewaretoken": "iLoS4Bsgdyc6EhOtQKiiXrIqr9S1eojdhdyEeClA8qI5ei2WpfQQu1JrduLrbndndR"
添加我的评论作为答案,既然您提到您想提交
form-data
。您必须执行以下操作:
$(document).on('click', '#update', async () => {
try {
// Construct form data
const data = new FormData();
data.append("country", getCookie("country"));
data.append("city", getCookie("city").replace(/"/g, ""));
data.append("action", 1);
data.append("csrfmiddlewaretoken", $('input[name=csrfmiddlewaretoken]').val());
const response = await fetch("/getupdate",{
method:'POST',
body: data,
});
} catch (error){
console.log(error)
}
});