Hossein Meysami
5 سال پیش توسط Hossein Meysami مطرح شد
2 پاسخ

جستجو بدون reload صفحه در nodejs

سلام من میخام یه وبسایت مثل ورزش 3 بزنم , تو قسمتی که مسابقات تیم هارو به صورت هفتگی نمایش میده مشکل دارم .
میخام بدونم چجوری میشه کاربر شماره هفته رو وارد کنه و بدون اینکه صفحه Reload بشه لیست مسابقات اون هفته رو بهش نمایش بده.
دیتابیس ام مانگو.
@hesammousavi


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

خوب به شکل ajax درخواست میفرستید و اطلاعات اون هفته رو واکشی میکنید و نمایش میدید


Hossein Meysami
@hosseinmeysami.25 5 سال پیش مطرح شد
0

اگه براتون مقدوره بیشتر راهنمایی کنید , الان زمانی که یک هفته رو وارد می کنم و submit میزنم اطلاعاتش رو تو cmd برمیگردونه ولی نمیدونم چجوری تو صفحه نمایش بدم
home.js

router.get('/table' , homeController.table);
router.post('/table' , homeController.table);

homeController.js

async table(req , res , next){
        try {
            let inputContent = req.body.textField;
            console.log(inputContent);
            let matchs = await Match.find({week : inputContent}).exec();
            console.log(matchs);
            res.render('home/table' , {matchs});
        } catch (err) {
            next(err);
        }
}

table.ejs



<form id="formId" action="/table" method="GET">
    <input type="text" id="textFieldId" name="textField">
    <button type="submit" id="submitButton">Submit</button>
</form>

<div>
    <% matchs.forEach(match => { %>

              <h1>
                  <%= match.homeTeam %>
              </h1>

              <h2>
                  <%= match.awayTeam %>
              </h2>

      <% }) %>

</div>

<script>
$("#formId").submit(function (event) {
    $.post('/table', $("#formId").serialize(), function (data) {
       console.log(data) //data is the response from the backend
    });
    event.preventDefault();
  });
```</script>

@hesammousavi

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام