Merhaba.bilgisayarimda bulunan data.json doyasina js ile erismek istedim.sonra ogrendim ki js ile erismek icin json dosyasi bir server uzerinde olmali.bende serveri calitirmak icin data.json dosyasini bulundugu dizine gecip su komutla: python3 -m http.server serveri calistirdim.adres cubuguna http://127.0.0.1:8000/data.json yazince server duzgun calisiyor ve json datasida gorunuyor.ama js ile bu dosyaya su sekilde erismeye calisdigimda:
var request = new XMLHttpRequest()
request.open("GET","http://127.0.0.1:8000/data.json",true)
request.onload = function () {
var data = JSON.parse(this.response)
console.log(data);
}
nedense hic bir cikti alamiyorum.sorun nerede?serverimi yanlis calistiriyorum,js ile yanlismi erisiyorum yoksa genel olarak yanlis bir yolmu izliyorum?yardimci olursaniz sevinirim.
Hayir.datayi konsola yazdirmaya calisiyorum ve hic bir cikti alamiyorum.
hayir istedigim gibi calismiyor.ornegin json dosyasina veri gonderiyorum,tamam gonderildi ama sayfayi yeniledigimde ekledigim veri gidiyor(dogal olarak)
Server tarafinda dosyaya yazilan bir sey client sayfayi yenilediginde kayip mi oluyor? Anlamadim.
Client tarafinda dosya olmadigini, URL ve istekler oldugunu hatirlatarak tekrar sormak isterim ne denmeye calistigini.
Bunun icin javascript’te bulunan JSON verisini oncelikle dosya sistemine erisimi olan sunucuya yollamak lazim. Bunun icin bir HTTP POST istegi kullanmayi tavsiye ediyorum.
O zaman gerekli yerlere console.log ekleyerek neyin calisip neyin calismadigini belirleyebiliriz aslinda.
Bu arada su anda gordum, once istek yapiliyor (open), sonra istek yapildiginda ne olacagi belirtiliyor (onload).
Bu arada su anda gordum, once istek yapiliyor (open), sonra istek yapildiginda ne olacagi belirtiliyor (onload). dememismiydiniz?dediginiz gibi degilmi zaten?
hayir hocam ben internetteki apilerden json verisini bu sekilde cekiyorum ve calisiyor.peki asagidaki, istekten sonra yapacagi is degilmi?(request.onload)
baslikta Access-Control-Allow-Origin diye bir seye izin vermem gerekiyormus calismasi icin.(bahsettigniz CORS).ama buna javascriptde nasil izin verecegimi bulamadim.
cozdum hocam.ilk once npmden sudo npm install http-server -g komutuyla bir http server indirdim.daha sonra bu serveri cors parametresiyle calistirdim:http-server -p 3000 --cors .bu kadar(not:istegi post metoduyla yaparsaniz calismaz.get ile calisiyor.).ve calisti.desteginizde dolayi cok tesekkur ederim.ama artik daha buyuk bir sorun var.lokalde bulunan json dosyasina veri yazmak.bu konuda da yardimci olan olursa cok sevinirim.
Tarayıcıda çalışan javascript bulunduğu cihazın dosyalarına erişemez. Eğer amacınız sunucuda dosya kaydetmek ise basit bir POST isteği yeterli olur diye tahmin ediyorum.