无法在 json 服务器中推送我的数据

问题描述

这是您可以在此 URL 上看到的本地 JSON 服务器 http://localhost:3003/CourseList/1 我的钩子

 const [subjectName,setsubjectName]=useState(
          {
            id: "",subjectname: "Aptitude",chapter: [
              {
                chapter1: "",topic: [
                  {
                    topic1: ""
                  }
                ]
              }
            ]
          }
    );

当我点击添加按钮时的功能,它将检查它是否与道具的 id 匹配,然后它将执行任务

 const addSubject = async id => {
        console.log("id "+id);
      axios.get(`http://localhost:3003/CourseList/`)
      .then((res)=>{
        res.data.map((list,index)=>{
         if(list.id===props.id){
           console.log(list.subject)
           list.subject.push(subjectName);
          
        }
        })
      })
      .catch((error)=>{
       console.log(error);
      })
      };

如何在主题数组中推送新数据?我什么都没有

解决方法

如果您使用的是 JSON 服务器,它应该有一个 PATH/PUT 新对象的默认端点。您需要在请求标头中发送 Content/Type: application/json 并在服务器中设置 jsonServer.bodyParser

,

解决办法

const addSubject = 异步 ID => { console.log("id "+id);

    try{
      const {data} = await axios.get("http://localhost:3003/CourseList")
      
      data.map(async(item)=>{
        if(item.id===id){
          console.log(item);
          item.subject.push(subjectName);
          
          await axios.put(`http://localhost:3003/CourseList/${id}`,item)
        }
      })
      const check= await axios.get(http://localhost:3003/CourseList/${id})
      console.log(check)
    }catch(err){
      console.log(err.message)
    }
  };

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...