المشكلة انك لم تنزل الحزم الخاصة بالمشروع وكذلك لم تقم بإعداد ملف public وكذلك تقوم بإرسال الطلبات إلى الـ port 3000 بينما السيرفر يعمل على الـ port 8000.
وكذلك فإنك استخدمت sqllite3 ولم تستخدم sqllite وهذا ما جعل الموضوع اصعب بكثير،
والحل هو تعديل ملف السيرفر للشكل التالي :
const bodyParser = require("body-parser");
const express = require("express")
var cors = require('cors')
const sqlite3 = require('sqlite3')
const { open } = require('sqlite')
const startServer = async () => {
// open the database
const db = await open({
filename: './FileStudents.db',
driver: sqlite3.Database
})
try {
await db.exec(`CREATE TABLE student (
StudentID int,
FirstName varchar(255),
LastName varchar(255),
Age int,
Class int,
Date DATE
)`)
} catch (error) {
console.log(error);
}
const app = express();
app.use(cors())
// الكود المضاف
app.use(express.static("./public"))
// نهاية الكود المضاف
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.post("/name", async (req, res) => {
try {
const { StudentID, FirstName, LastName, Age, Class, date } = req.body;
await db.exec(
`INSERT INTO student (StudentID,FirstName,LastName,Age,Class,Date) VALUES ('${StudentID}','${FirstName}','${LastName}','${Age}','${Class}','${date}')`
)
return res.status(200).json({ message: "Successfully Registered" })
} catch (error) {
console.log(error);
return res.status(400).json({ message: "some think happened" })
}
})
app.get("/name", async (req, res) => {
try {
const data = await db.all(`SELECT * FROM student`)
return res.status(200).json({ message: "Successfully Registered", data })
} catch (error) {
console.log(error);
return res.status(400).json({ message: "some think happened" })
}
})
app.listen(8000, () => {
console.log("server listening ");
})
}
startServer()
// app.get("/", (req, res) => {
// return res.status(200).json({ message: "express server working Successfully" })
// })
وتعديل ترتيب الملفات وملف الـ page.html إلى index.html .
ليصبح مجلد المشروع الخاص بك بالشكل التالي :
school.rar
وحتى تشغل المشروع عليك ان تقوم بفك الضغط ومن ثم فتح المجلد الناتج باستخدام vs code وبعدها تقوم بكتابة الامر التالي في موجه الاوامر :
npm install
وهذا الامر يقوم بتنزيل الحزم التي وضعتها لك في الملف والتي يعتمد عليها السيرفر حتى يعمل.
ولكن تأكد من انك في المسار الصحيح عند كتابة الأمر، ونتيجة هذا الامر سيظهر لديك ملف node module والذي يحتوي على الحزم المطلوبة.
وبعدها تقوم بتشغيل السيرفر باستخدام الامر :
npm start
وتستطيع فتح ملف الـ html بالذهاب للرابط :
http://localhost:8000/
واضافة المستند الذي تريده.
ويمكنك التحقق من ان المستند قم تم إضافته بالذهاب إلى الرابط :
http://localhost:8000/name
والذي سيعيد لك كل العناصر المضافة إلى قاعدة البيانات.