在使用 fetch
进行 POST 请求时,你可以通过将空值(例如 null
、空字符串 ""
或 undefined
)作为请求体的一部分来传递空值。以下是一些示例,展示了如何在 fetch
POST 请求中传递空值。
null
值const data = {
key1: "value1",
key2: null, // 传递 null 值
};
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
""
const data = {
key1: "value1",
key2: "", // 传递空字符串
};
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
undefined
值需要注意的是,JSON.stringify
会自动忽略 undefined
值,因此如果你想传递 undefined
,你需要将其显式地转换为 null
或空字符串。
const data = {
key1: "value1",
key2: undefined, // 传递 undefined 值
};
// 将 undefined 转换为 null
const sanitizedData = JSON.parse(JSON.stringify(data, (key, value) => value === undefined ? null : value));
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(sanitizedData),
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
const data = {
key1: "value1",
key2: {}, // 传递空对象
key3: [], // 传递空数组
};
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
领取专属 10元无门槛券
手把手带您无忧上云