• 20-02-2019, 17:14:24
    #1
    Abc.com veritabanındaki bilgileri <script src="http://www.abc.com/deneme.js"></script> yoluyla başka bir siteye nasıl aktarabilirim?

    Yaptıklarım; Php ile veritabanına bağlanıp verileri phpye aktardım. Ajax yoluylada php deki verileri deneme.js'ye çektim aynı sunucuda çalışıyor fakat javascript ile uzaktan veri çekilmediği için çalışmıyor nasıl bir yol izleyebilirim?

    Teşekkürler
  • 20-02-2019, 17:53:54
    #2
    javascript "client" yani "kullanıcı" yani "browser" , tarafında çalıştırılıyor yani kod gönderiliyor browser orada çalıştırıyor kodları. Dolayısıyla eğer siz <script src="http://www.abc.com/deneme.js"></script> ile veritabanından bilgi almaya çalışırsanız siteye giren kullanıcının pc'sinden kendi sunucunuzdaki veritabanına bağlantı kurmaya çalışmış olursunuz. bu da eğer veritabanınız remote (uzaktan) bağlantıya açık değilse mümkün değil.

    Zaten sunucu ile bilgi alışverişi için REST API vb. gibi kavramlar mevcut. Sunucuda istediğiniz bilgiyi sunan bir endpoint (örn: "http://www.abc.com/data-ver") oluşturup gelen isteğe cevaben istediğiniz datayı gönderirsiniz. Herhangi bir yerden de bu endpoint'e istek gönderirsiniz.

    Yok eğer tek sorun başka domainden sorgu yaptığınızda cevap alamıyor olmanız ise "CORS" yani cross-domain problemi yaşıyor olmanız muhtemel. onun için sorguda header'a "Access-Control-Allow-Origin: *" eklerseniz sorununuz çözülebilir. bu cors probleminde farklı ihtimaller var tabi.

    Belki yanlış anlamışımdır sorununuzu, mümkün mertebe teknik tabirler kullanmamaya çalıştım. Yanlış anlamışsam bilal'e anlatır gibi sorarsanız belki daha fazla yardımcı olabilirim
  • 20-02-2019, 18:07:29
    #3
    halitipek adlı üyeden alıntı: mesajı görüntüle
    javascript "client" yani "kullanıcı" yani "browser" , tarafında çalıştırılıyor yani kod gönderiliyor browser orada çalıştırıyor kodları. Dolayısıyla eğer siz <script src="http://www.abc.com/deneme.js"></script> ile veritabanından bilgi almaya çalışırsanız siteye giren kullanıcının pc'sinden kendi sunucunuzdaki veritabanına bağlantı kurmaya çalışmış olursunuz. bu da eğer veritabanınız remote (uzaktan) bağlantıya açık değilse mümkün değil.

    Zaten sunucu ile bilgi alışverişi için REST API vb. gibi kavramlar mevcut. Sunucuda istediğiniz bilgiyi sunan bir endpoint (örn: "http://www.abc.com/data-ver") oluşturup gelen isteğe cevaben istediğiniz datayı gönderirsiniz. Herhangi bir yerden de bu endpoint'e istek gönderirsiniz.

    Yok eğer tek sorun başka domainden sorgu yaptığınızda cevap alamıyor olmanız ise "CORS" yani cross-domain problemi yaşıyor olmanız muhtemel. onun için sorguda header'a "Access-Control-Allow-Origin: *" eklerseniz sorununuz çözülebilir. bu cors probleminde farklı ihtimaller var tabi.

    Belki yanlış anlamışımdır sorununuzu, mümkün mertebe teknik tabirler kullanmamaya çalıştım. Yanlış anlamışsam bilal'e anlatır gibi sorarsanız belki daha fazla yardımcı olabilirim
    Sizin cevabı görene kadar bende sorunu çözdüm

    Dediğiniz gibi "Access-Control-Allow-Origin: *" bunu yapınca olay çözüldü.

    İlginiz için teşekkür ederim
    Kolay gelsin