2012-08-14 88 views
1

可能重複:
Parse a JavaScript file through PHP通行證PHP變量將jQuery

我一直想一個PHP變量傳遞給jQuery的,但不是很成功。 這裏是我用來傳遞數據的代碼的一部分:

$('#submitAuto').click(function(){ 
      var isDelete = $("#autoDelete").val(); 
      var userID = "<?php echo $userData ; ?>" ; 

但我找出用戶ID值是字符串,<?php echo $userData ; ?>,而不是$用戶數據的價值。

我該如何處理這個問題?

任何建議將受到歡迎, 在此先感謝

+0

您的代碼似乎正確。你確定這是在'php'或'phtml'文件中嗎?你測試過了,同一個文件中的其他PHP部分是否工作? – insertusernamehere 2012-08-14 08:57:27

+0

你可能把你的代碼放在'js'文件中? – Leigh 2012-08-14 08:58:09

+0

我把代碼放在一個js文件中... – Itamar 2012-08-14 08:58:47

回答

3

將JavaScript移動到<script>標籤內並放置在PHP文件中。

您的服務器無法運行PHP,除非它具有.php文件擴展名。

它也可能是一個好主意,用json_encode()這樣的:

var userID = <?php echo json_encode($userData); ?>; 

這將阻止任何問題與您的字符串奇怪的字符。

+0

+1 - 此解決方案在此處涵蓋http://stackoverflow.com/a/9137093/201648和http://commacommacrash.com/2009/02/passing-variables-between-javascript.html。另請參閱有關JavaScript中全局範圍的註釋(聲明的順序很重要) - http://stackoverflow.com/questions/2932782/global-variables-in-javascript-across-multiple-files – 2012-08-14 09:08:02

0

刪除 「」 從線路

VAR用戶ID = < PHP的echo $用戶數據?; ? >

你不應該拿起在JS PHP代碼,你應該把用戶數據的值在頁面上的HTML元素,然後你可以讀取它,使用的document.getElementById等

你可以有一個隱藏的字段取用戶數據的值,然後你可以在javascript的幫助下閱讀userdata變量wid。

+0

我把代碼放在一個js文件中,從行中刪除「」導致錯誤 – Itamar 2012-08-14 08:59:07

+0

如果你使用的是js文件,你不能這樣做,js文件不能引用你的php變量。 – 2012-08-14 08:59:59

+0

刪除引號不是一個好主意。如果他傳遞了'true','false','null'或一個數字,它纔會起作用。如果他傳遞一個字符串,它會崩潰。此外,你錯過了一個分號添加行的末尾。 – insertusernamehere 2012-08-14 09:09:36

0

任何具有PHP代碼的文件都必須由PHP解析,以便在代碼從服務器發送到客戶端之前將其轉換爲其他內容,因爲PHP僅在服務器上運行。

通常,這意味着文件已經結束與.php,只是貼在.js文件PHP代碼將無法正常工作,除非你將服務器配置爲運行.js文件直通PHP。

只是.js文件重命名爲.php將工作的大部分時間,也可以包括在.php文件與腳本標記的JavaScript,或者改變您的服務器配置也解析.js文件。在Apache中,您可以添加到.htaccess中:

AddType application/x-httpd-php .js 
AddHandler x-httpd-php5 .js 
<FilesMatch "\.(js|php)$"> 
SetHandler application/x-httpd-php 
</FilesMatch>