2010-11-26 12 views
26

संभव डुप्लिकेट:
How to access PHP variables in JavaScript or jQuery rather than <?php echo $variable ?>जावास्क्रिप्ट में पहुँच पीएचपी चर

वहाँ किसी भी तरह से जावास्क्रिप्ट में एक PHP चर तक पहुँच प्राप्त करने है?

मेरे पास एक चर, $a है, PHP में और जावास्क्रिप्ट चर में अपना मान प्राप्त करना चाहते हैं।

उत्तर

70

आप नहीं, तो आप की तरह

<script type="text/javascript"> 
    var php_var = "<?php echo $php_var; ?>"; 
</script> 

कुछ करने के लिए आप भी AJAX के साथ यह लोड कर सकते हैं

राइनो सही है होगा कर सकते हैं, टुकड़ा संक्षिप्तता की खातिर एक प्रकार का अभाव है ।

इसके अलावा, ध्यान दें कि $php_var उद्धरण है, तो यह आपकी स्क्रिप्ट को तोड़ देगा। आप addlashes, htmlentities या एक कस्टम फ़ंक्शन का उपयोग करेंगे।

+1

राइनो सही है, json_encode चर निकल जाता है। – Jonah

+2

डब्ल्यू 3 सी कहता है कि 'टाइप विशेषता विशेषता प्रत्येक दस्तावेज़ में प्रत्येक एससीआरआईपीटी तत्व उदाहरण के लिए निर्दिष्ट की जानी चाहिए।' – stillstanding

+0

ठीक है, वह संभवत: ब्रेवटी के लिए इसे छोड़ रहा था। – Jonah

35

metrobalderas आंशिक रूप से सही है। आंशिक रूप से, क्योंकि PHP चर के मान में कुछ विशेष वर्ण हो सकते हैं, जो जावास्क्रिप्ट में मेटाएक्टेक्टर हैं। इस तरह की समस्या से बचने के लिए, नीचे दिए गए कोड का उपयोग करें:

<script type="text/javascript"> 
var something=<?php echo json_encode($a); ?>; 
</script> 
+5

+1। परीक्षण किया गया, और json_encode _does_ उद्धरण और तारों से ठीक से बचें। – Jonah

0

मुझे यकीन है कि यह कैसे आवश्यक है नहीं कर रहा हूँ, और यह getElementById के लिए एक कॉल कहते हैं, लेकिन आप अपने कोड से बाहर इनलाइन JavaScript प्राप्त करने पर वास्तव में उत्सुक रहे हैं आपकी जावास्क्रिप्ट में

<span class="metadata" id="metadata-size-of-widget" title="<?php echo json_encode($size_of_widget) ?>"></span> 

और फिर:, आप एक HTML विशेषता के रूप में यह पारित कर सकते हैं, अर्थात्

var size_of_widget = document.getElementById("metadata-size-of-widget").title; 
संबंधित मुद्दे