从发送到后端的对象中提取 key:value 对

Extract key:value pair from an object sent to backend

我正在尝试使用对象中的值。我不需要使用对象的 'key' 部分。另外,我需要从对象周围删除大括号 { }。我该怎么做?

我正在制作一个将数据发送到后端的搜索栏,但我只需要使用对象的 'value' 部分。也许我应该为此使用查询字符串?

const handleClick = (e) => {
    e.preventDefault() // stop page from refresh

    if (setUserInput !== '') { // is searchbar isnt empty, then run the POST method to send 
// data from {userInput} which is the searchbar
      
      const options = 
      {
        method: 'POST',
        headers: {
          'Content-Type':  'application/json'
        },
        body: JSON.stringify({userInput}),
      };
  
      const response = fetch('http://localhost:3001/search', options);
      console.log("search entered");
    };

      }

在后端,当我 console.log 它给我的响应时

`"{ userInput: 'lollol' }"

在所有这些中,我只需要 'lollol' 部分( lollol 只是一个例子,但搜索栏中输入的任何内容都会显示出来,而不是它)。因此:

const searchResult = req.body /// return lollol ✅

没有

const searchResult = req.body /// return `"{ userInput: 'lollol' }" ❌

我应该使用查询字符串来完成此操作,还是有办法从对象中提取数据?

您不需要将正文中的对象字符串化。替换

body: JSON.stringify({userInput}),

body: {userInput:userInput},

然后你就可以像req.body.userInput一样使用它了。 希望对您有帮助!!