2013-05-31 93 views
-8

我嘗試在Javascript中使用PHP代碼。不幸的是,有些事情不對。在PHP回聲在PHP - 不工作

試試localhost,wampserver。

這是jQuery驗證的一部分:

"onlyNumber":{ 
    "regex":"/^[0-9\ ]+$/", 
    "alertText":"<?php echo 'This is the message' ?>"}, 

知道爲什麼這給我空白的消息窗口?

謝謝

文件擴展名是PHP。 Js文件包含在我的PHP(之前)結束。

<script type="text/javascript" src="js/all.js"></script> 

試圖關閉echo命令;

+0

什麼是您的文件的擴展名 - html,php,phtml? – enenen

+2

JS在客戶端執行,PHP需要服務器端執行。它永遠不會工作。 –

+9

@BhashitParikh如果腳本在發送到客戶端之前在服務器上呈現,它將起作用。 – Yoshi

回答

6

您的文件需要作爲PHP執行。最簡單的方法是將javascript文件重命名爲.php擴展名。我喜歡打電話給我的文件,例如。 main.js.php

在這裏你粘貼原始JavaScript /混合PHP代碼。

document.write("<?php echo "foo"; ?>"); 

..和你剛纔提到它作爲正常:

<script type="text/javascript" src="lib/js/main.js.php"></script> 

如果你想獲得額外的幻想和「隱藏」的事實,這是一個PHP文件,你可以做一個簡單的重寫htaccess的:

RewriteEngine On 
RewriteRule ^lib/js/main.js$ /lib/js/main.js.php 

現在只指js文件,如果它確實存在:

<script type="text/javascript" src="lib/js/main.js"></script> 
+0

或類似的'AddType應用程序/ x-httpd-php .js' – Yoshi

+0

@Yoshi你可以做到這一點。你甚至可以把它包裝在一個''容器中,以確保你只能訪問該文件(當然你不希望每個JS文件都必須通過PHP)。 – h2ooooooo

+0

謝謝。那工作。做詭計! – holian