NodeJS ile ön taraftan veri çekme

Katılım
6 Ağustos 2020
Mesajlar
451
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı
Arkadaşlar düz(sade) JavaScript'te document. GetElementById('idadi') seklinde idlere erisebiliyoruz. Nodejs ile bunu nasıl yapabiliriz?
Bir textboxun içindeki yazıyı alıp veri tabanına kaydedeceğim de.
 
Son düzenleyen: Moderatör:
Bunun icin Nodejs serverine yani Express aslinda, baglanman lazim. Yani asenkron programlamaya bakmalisin. Bunun da birkac yontemi var. Ajax yada fetch isini gorecektir. Bunlar hakkinda biraz arastirma yap. Turkce icerikler oldukca fazla bunlarla alakali. Bulamazsan yardimci olmaya da calisirim.
 
Bunun icin Nodejs serverine yani Express aslinda, baglanman lazim. Yani asenkron programlamaya bakmalisin. Bunun da birkac yontemi var. Ajax yada fetch isini gorecektir. Bunlar hakkinda biraz arastirma yap. Turkce icerikler oldukca fazla bunlarla alakali. Bulamazsan yardimci olmaya da calisirim.
Express biliyorum.Asenkronda call back biraz kafamı karıştırdı sadece.
 
Express biliyorum.Asenkronda call back biraz kafamı karıştırdı sadece.

Mesela Fetch kullanim ornegine bakalim beraber:


Kod:
const value = document.getElementById('input').value // inpput un value degeri

fetch(url, { // burasi baglantiyi yapacagimiz kisim ve url kismina backend tarafinda ayaga kaldirdigimiz sunucu adresi yazilacak. mesela localhost:3000/api/name . artik node tarafinda route u nasil yaptiysan.
  method: "post", // metodumuz post, get, delete vs.
  headers: {
    'Accept': 'application/json', // bunlar sunucudan gelecek cevap icin cok onemli degil burasi su an.
    'Content-Type': 'application/json'
  },

  body: JSON.stringify({ // gonderecegin dosyayi json objesi icerisine gomuyoruz.
    name: value, // input value sini burada gonderiyoruz.
  })
})
.then( (response) => {
   console.log(response) // bize gelen cevap.
})
.catch( (err) => {
    console.log(err) // hata cikarsa da konsolda yazdir diyoruz yine.
});
 
Ön yüzden, express uygulamana HTTP POST isteği atarsın. Request body'de JSON gönderirsin. Body parser sadece express middleware olarak çalışıyor, başka bir esprisi yok. Request body'de gönderdiğin veriye req.body şeklinde ulaşırsın. AJAX isteği atmanın bir sürü yolu var. Herhangi bir kütüphaneyi (tercihen Axios) veya XHR kullanabilirsin.

Örnek request body:
JSON:
{
    "on_yuzden_gelen_ornek_deger": "deneme",
    "on_yuzden_gelen_ornek_deger2": true,
    "on_yuzden_gelen_ornek_deger3": 123
}

Node.js tarafı örnek:
JavaScript:
const express = require('express');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.post('/', (req, res) => {
    var on_yuzden_gelen_ornek_deger = req.body.on_yuzden_gelen_ornek_deger;
    var on_yuzden_gelen_ornek_deger2 = req.body.on_yuzden_gelen_ornek_deger2;
    var on_yuzden_gelen_ornek_deger3 = req.body.on_yuzden_gelen_ornek_deger3;

    // Bu değişkenleri nasıl kullanacağın sana kalmış
});

app.listen(3000);
 

Geri
Yukarı