如何在 fetch POST 请求中传递空值
How to pass null value in fetch POST request
我想在提取 POST 请求中传递空值。
为了说明这个例子,这是我的 API 客户端 Insomnia(相当于 Postman)的截图。
这POST失眠returns想要的结果。
现在我尝试使用以下代码在 javascript 中执行此操作:
let decal_colo = document.querySelector('#decal_colo').value.trim();
if (!decal_colo) {decal_colo=null};
let owner = document.querySelector('#owner').value.trim();
console.log(decal_colo, owner)
const response = await fetch('/api/testFilter', {
method: 'POST',
body: JSON.stringify({ decal_colo, owner }),
headers: { 'Content-Type': 'application/json' },
});
if (response.ok) {
const filteredData = await response.json();
console.log(filteredData);
如果用户未提供任何输入,您可以看到我正在尝试在此行中传递 null
值:
if (!decal_colo) {decal_colo=null};
这将 console.log 的值 null
但我的 API 路线没有以相同的方式解释它。没有错误,但返回零结果。我查看了数据库,应该有返回结果。
如果有帮助,我正在使用 sequelize 来创建我的模型和控制器
如何以正确的方式传递 null
?
在 Insomnia 应用程序中,您发送的是 JSON 对象,但在 JavaScript 代码中,您发送的是字符串。将正文:JSON.Stringify 替换为:
body: { decal_colo, owner }
我想在提取 POST 请求中传递空值。
为了说明这个例子,这是我的 API 客户端 Insomnia(相当于 Postman)的截图。
这POST失眠returns想要的结果。
现在我尝试使用以下代码在 javascript 中执行此操作:
let decal_colo = document.querySelector('#decal_colo').value.trim();
if (!decal_colo) {decal_colo=null};
let owner = document.querySelector('#owner').value.trim();
console.log(decal_colo, owner)
const response = await fetch('/api/testFilter', {
method: 'POST',
body: JSON.stringify({ decal_colo, owner }),
headers: { 'Content-Type': 'application/json' },
});
if (response.ok) {
const filteredData = await response.json();
console.log(filteredData);
如果用户未提供任何输入,您可以看到我正在尝试在此行中传递 null
值:
if (!decal_colo) {decal_colo=null};
这将 console.log 的值 null
但我的 API 路线没有以相同的方式解释它。没有错误,但返回零结果。我查看了数据库,应该有返回结果。
如果有帮助,我正在使用 sequelize 来创建我的模型和控制器
如何以正确的方式传递 null
?
在 Insomnia 应用程序中,您发送的是 JSON 对象,但在 JavaScript 代码中,您发送的是字符串。将正文:JSON.Stringify 替换为:
body: { decal_colo, owner }