2010-07-28 14 views

उत्तर

87

अपने पूरे जे एस कोड पीएचपी द्वारा संसाधित हो जाता है, तो आप इसे ऐसे ही कर सकते हैं। यदि आपके पास व्यक्तिगत .js फ़ाइलें हैं, और आप नहीं चाहते हैं कि PHP उन्हें संसाधित करे (उदाहरण के लिए, कैशिंग कारणों के लिए), तो आप जो कर सकते हैं वह बस जेएस में चारों ओर चर है।

<script type="text/javascript"> 
var my_var = <?php echo json_encode($my_var); ?>; 
</script> 

तब आप अपने जे एस फ़ाइलों में my_var इस्तेमाल कर सकते हैं: अपने index.php (या जहाँ भी आप अपने लेआउट निर्दिष्ट) में उदाहरण के लिए, अगर आप इस तरह कुछ करना चाहते हैं। यह विधि आपको केवल साधारण पूर्णांक मानों के अलावा अन्य पास करने देती है, क्योंकि json_encode() सरणी, स्ट्रिंग इत्यादि से भी सही तरीके से संबंधित है, जो उन्हें जेएस का उपयोग कर सकते हैं।

+1

json_encode मुझे बचाया – Subham93

2

हाँ सुझाव दें आप अपना JavaScript कोड एक PHP फ़ाइल में एम्बेडेड है प्रदान की जा सकता है।

+1

यू एक सरल नमस्ते दुनिया कार्यक्रम को खुश बता सकते हैं, ताकि मेरे मैं मेरे मन –

+1

एक पर एक छोटे से प्रकाश था "हैलो दुनिया" कार्यक्रम वास्तव में क्या कर रही है? –

+0

मूल रूप से (मुझे लगता है) वह कह रहा है कि उपरोक्त कोड स्निपेट एक .php फ़ाइल में था, यह काम करेगा। यह ध्यान दिया जाना चाहिए कि आप जिस चीज की अपेक्षा करते हैं उसके आधार पर यह आवश्यक नहीं हो सकता है। – Davy8

2

आप गेंद पर बहुत अधिक हैं। एकमात्र अंतर यह है कि मैं जावास्क्रिप्ट को अलग कर दूंगा ताकि बहुमत बाहरी स्थैतिक फ़ाइल में हो। क्लाइंट पर - क्योंकि php सर्वर और जे एस पर चलता है

<script type="text/javascript> 
    function_in_other_file(<?php echo my_php_var; ?>); 
</script> 
+0

से भिन्न स्वीकार करने या चेतावनी देने के लिए हाय काम नहीं कर रही है, मैंने –

+0

<स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" src = "output/exp.js"> function jst() {fun (); } जेएसटी(); exp.js में शामिल हैं -> मजेदार (i) {चेतावनी (i); } –

-1

हम "जावास्क्रिप्ट के बीच में php" उपयोग नहीं कर सकते,: तो फिर तुम सिर्फ वैरिएबल निर्धारित या वास्तविक पीएचपी पेज से एक समारोह कहते हैं।
लेकिन हम साथ ही जे एस कोड उत्पन्न कर सकते हैं HTML के रूप में, सभी पीएचपी सुविधाओं का उपयोग कर, सहित escaping from HTML एक

+0

@ डंबलडोर अन्य उत्तरों में इस को जोड़ने के लिए कुछ भी नहीं है। स्वीकृत उत्तर बिल्कुल वही करता है। मुझे आश्चर्य है कि जहां एक "नई शैली" मिला –

15

आप फ़ाइल php में अपने जावास्क्रिप्ट कोड डाल, तो आप नहीं अन्यथा, उदाहरण के लिए कर सकते हैं:

page.php (यह काम करेंगे)

function jst() 
{ 
var i = 0 ; 
i = <?php echo 35; ?>; 
alert(i); 
} 

page.js (यह काम नहीं करेगा)

function jst() 
{ 
var i = 0 ; 
i = <?php echo 35; ?> 
alert(i); 
} 
+0

page.php काम नहीं कर रहा tooo :) –

+1

@flash: '' exp.js में शामिल हैं -> मजेदार (i) {चेतावनी (i); } –

3

PHP को समान होना चाहिए सर्वर पर sed। जेएस क्लाइंट के ब्राउज़र में काम किया जाता है।

एक .js फ़ाइल में PHP कोड होने के बाद, आप सर्वर को बता सकते हैं कि आप जिस फ़ाइल को क्लाइंट को भेजते हैं उसे .js के रूप में रखना चाहते हैं। और सर्वर को बताएं कि दुनिया पर सबसे आसान चीज है: फ़ाइल नाम के अंत में बस .php जोड़ें।

तो, आप इसे javascript.php नाम दे सकते हैं या, इसलिए आप जानते हैं कि यह फ़ाइल प्राथमिकता है, आप इसे javascript.js.php नाम दे सकते हैं - सर्वर इसे .php के रूप में पहचाना जाएगा और इसे पार्स करेगा। एबीसी में :

2

इस कोड की बिट आप आप के शीर्ष पर जरूरत जे एस

<?php 
    header('Content-Type: text/javascript; charset=UTF-8'); 
?> 

(function() { 
    alert("hello world"); 
})(); 
+0

कि शीर्ष लेख की जरूरत नहीं है हल करने के लिए दो समाधान में अंतर पाते हैं। –

+0

गलत है, तो आप यदि आप एक सेवा मजदूरों के sw.php 'एक और हैडर यह असफल है के साथ बनाने के लिए, इस हेडर की जरूरत है। –

1

एक छोटा सा डेमो आप मदद कर सकते हैं।php फ़ाइल:

<script type="text/javascript"> 
    $('<?php echo '#'.$selectCategory_row['subID']?>').on('switchChange.bootstrapSwitch', function(event, state) { 
     postState(state,'<?php echo $selectCategory_row['subID']?>'); 
    }); 
</script> 
+0

या यहां तक ​​कि अधिक सुंदर jQuery/php चयनकर्ता: '$ ('')' – oMiKeY

संबंधित मुद्दे