Javascript içinde php değişkeni alın

5 Cevap php

Ben ilginç bir sorun haline çalıştırmak. Şu anda php sayfası geliştirme ve javascript onload içinde bir php değişken erişmek için ihtiyaç duyuyorum.

$(document).ready(function() {
     var temp = <?php $page_id ?>
}

bu geçerlidir? Ben bu garip ve izin verilmeyebilir görünebilir biliyorum ama ben iki açılır pencere vardır bir sayfa geliştiriyorum. Pencereler aynı görünüm şablonu kullanılarak oluşturulan ve aralarında ayrım yolu yoktur vardır. Ben bu yüzden gibi sayfa için benzersiz bilgi sayfasında gizli bir değeri saklanır eğer

<input type="hidden" value="<?php $page_id ?> id="page_id" />

Aynı anda açık iki görüş varsa bana çok gibi benzersiz bir sayfa kimliği almak için hiçbir yolu yoktur

var temp = $("#page_id").val();

Benzersiz değil, aynı giriş kimliği ile iki görüş vardır çünkü. Uzun lafın kısası, bu javascript bir php değişken başvurmak için geçerlidir?

5 Cevap

Long story short is it valid to reference a php variable in the javascript.

İstediğiniz yere Kısa cevap, evet ... PHP sunucu taraflı bir dildir, bunu kullanabilirsiniz yapabilirsiniz.

Note: sana php uzantılı bir dosyada bu yaptığını varsayalım.

Bu JavaScript bir php değişken başvurmak için geçerli Uzun lafın kısası nedir?

Sen JavaScript PHP değişken başvuran değildir. Sadece PHP değişkenin değerini $page_id JavaScript kodunun içine kodlanmış olur PHP, dinamik olarak JavaScript kodu üreten.

Eğer PHP ile JavaScript kodu oluşturmak ve kullanmak ise var temp = <?php echo $page_id ?> bu iş olacak, ama daha büyük projeler için en iyi uygulama düşünün olmaz. Ben statik kalması benim JavaScript kodunu tercih ederim.

Eğer javascript üreten gibi kod ilk parçası sürece geçerlidir. Aynı alışkanlık iş size ayrı bir js kodu koyarsanız. Js dosyası. Dinamik js oluşturuluyor örneğin js tarayıcı önbelleği ve yeniden kullanım gibi çeşitli nedenlerden dolayı iyi bir uygulama değildir.

Tamamen php js kodunu ayırmak istiyorsanız, js ajax aracılığıyla bir php komut dosyası belirli bir değer için sormak ve daha sonra js ortamda onunla oynayacak bir istemci-sunucu iletişimi oluşturabilirsiniz.

Sizin ikinci örnek de çalışacaktır, ancak JavaScript ondan okuyabilir böylece sayfaya PHP değişkenin değerini yankı gerekir. Ayrıca geçersiz html ile bitmiyor emin olmak için htmlspecialchars kullanın.

<input type="hidden" value="<?php echo htmlspecialchars($page_id, ENT_QUOTES) ?>" id="page_id" />

Sen this question cevabınızı bulabilirsiniz.