Я хочу получить данные для указанного пользователя из MySQL, ошибок нет, но ничего не отображается. Это потому, что в index.js на сервере идентификатор не определен, как я могу получить идентификатор из внешнего интерфейса! В чем ошибка в моем коде?

Это во фронтенде (React js)

function EditCourse() {

    const [CourseID, setCourseID] = useState(0);
    const [Name, setName] = useState("");
    const [Description, setDescription] = useState("");
    const [TeacherSSN, setTeacherSSN] = useState(0);

    const [data, setData] = useState([]);
    const { id } = useParams();

 useEffect(() => {
            debugger;
            Axios.get(`http://localhost:3003/fetchdata/${id}`, {
                CourseID: CourseID,
                Name: Name,
                Description: Description,
                TeacherSSN: TeacherSSN,
            }).then(result => setData(result.data));
            console.log("success")
            debugger;
        }, [id]);
return(
       <div>
{data.map(item => {
    return (
                <div key={item.Id}>

                    <h2>
                        رقم الدورة :
                    </h2>
                    <br />
                    <input type="text" value={item.CourseID}/>
                    <h2>
                        اسم الدورة :
                    </h2>
                    <br />
                    <input type="text" value={item.Name}/>
                    <br />
                    <h2>
                        رقم هوية مدرب الدورة :
                    </h2>
                    <br />
                    <input type="text" value={item.TeacherSSN}/>
                    <br />
                    <p> تفاصيل الدورة :</p>
                    <br />
                    <TextField
                        label={item.Description}
                        color="secondary"
                        variant="outlined"
                        multiline/>
</div>
) }) }
</div>
) }

И это index.js на сервере

app.get(`/fetchdata/:id`,(req, res) => {
  const id = req.body.id;
  console.log(id);
  db.query(`SELECT CourseID, TeacherSSN, Name, Description FROM course WHERE CourseID=${id}`, (err, result) => {
    if (err) {
      console.log(err)
    } else {
      res.send(result)
    }
  })
});
0
Batool Nassar 26 Ноя 2021 в 10:58

1 ответ

Лучший ответ

Вы передаете id через параметры URL, пытаясь получить id из тела запроса.

Заменить

const id = req.body.id;

Чтобы

const id = req.params.id;
1
Matthew Kwong 26 Ноя 2021 в 11:01
Большое спасибо Успех.
 – 
Batool Nassar
26 Ноя 2021 в 11:18