JSONP Nedir?
Yazıda JSONP nedir ile JSONP yönteminin ne olduğu anlatılmış JSONP kullanımı ile ilgili örnek verilmiştir.
JSONP Nedir?
JavaScript içinde bulunan XMLHttpRequest yapısıyla farklı alan adına sahip bir web sayfasından veri almak istendiğinde çeşitli sorunlarla karşılaşılır.
Başka alan adına sahip sitenin veri alışverişine izin vermesi gerekir. Bazı web tarayıcıları da başka siteden veri alınmasına izin vermeyebilir.
Bu durumda JSONP yöntemi kullanılarak veriler HTML içerisindeki script etiketi vasıtasıyla alınır.
JSONP yöntemini anlamak için aşağıdaki örnek faydalı olacaktır.
<?php
header("Content-Type: application/json;");
$kisiler = ["Mehmet SEZER", "Sinan SEZER", "Ramazan SEZER", "Yusuf SEZER"];
$fonksiyon = strip_tags($_GET['fonksiyon']);
echo $fonksiyon . "(" . json_encode($kisiler) . ")";
?>
Alınan veriler aşağıdaki gibi kullanılabilir.
<script>
function yazdir(degerler) {
for (var i = 0; i < degerler.length; i++) {
document.body.innerHTML += degerler[i] + "<br />";
}
}
</script>
<script src="index.php?fonksiyon=yazdir"></script>
Örnekte JSON biçiminde veri üreten kısım özel parametre ile belirlenen JavaScript fonksiyonunu çalıştırmaktadır.
Belirlenen fonksiyon parametre olarak JSON formatında gönderilmek istenen verileri almaktadır.
Belirlenen fonksiyon sayfa içerisinde tanımlanarak parametre olarak gönderilen JSON verileri kullanılabilir hale gelmektedir.
JSONP yöntemi Backbone, jQuery, Angular, Vue vb. Ajax ile API ve web servisleri ile işlem yapan uygulamalarda sıklıkla kullanılmaktadır.