2012-07-11 106 views
0

可能重複:
Parse a JavaScript file through PHP包括PHP在js文件

我在JavaScript中有一些相當長的字符串變量,我在.js文件實例化這樣我可以使用它們在多個文件中,也只是因爲它不會混淆超長的頁面。但是,我想將一些php回送到.js文件(所以我可以使用在我的php中指定的文件路徑)並將其放入變量中。

我知道如果它是在一個正常的html頁面,我可以做<?php echo "foo"; ?>,它會工作好。但是,在js文件中它似乎忽略了它。 js文件當前實例化一個變量和一個存儲html表單的關聯數組,所以我可以根據用戶的輸入將它們放在頁面上。

我需要將php文件路徑回顯到表單的動作部分。這樣做的原因是,如果我回去修改我的代碼,我只需要更改一次文件路徑。然而,js文件會將實際的文本()粘貼到我的變量中,否則表單將無法加載。

任何幫助將不勝感激,如果你需要一些更多的信息,請隨時問。非常感謝!

+0

http://stackoverflow.com/questions/4821711/php-tags-in-js-file – 2012-07-11 09:52:38

+0

HTML'data-'屬性在這種情況下也是很好的候選者,因爲那樣你就不會違反規則關注的分離。 – kapa 2012-07-11 10:22:06

回答

4

改變你的JavaScript文件的文件擴展名.php然後使用該文件,而不是例如

<script type="text/javascript" src="test.php"></script> 

還設置使用

<?php 
    header("Content-type: text/javascript"); 
?> 
+0

last> is missing :) vote – 2012-07-11 09:57:29

+0

這是在正確的道路上,我現在有一個小問題,它說結束是無效的XML語法。這可能與我如何聲明我的關聯數組有關。我聲明它像var gamearray = new Array(); then im doing gamearray [gamename] =「text」; gamearray [gamname2] =「更多文字」; 這是正確的語法? – samuraiseoul 2012-07-11 10:11:36

+0

謝謝飛達!...現在修改它Samuraisoulification .. – 2012-07-11 10:15:37

0

ForceType指令的js文件上的文件的頂部正確的標題作爲PHP,在你的.htaccess文件中。
這樣的事情,

<Files filename.js> 
SetHandler application/x-httpd-php 
ForceType application/x-httpd-php 
</files> 
0

它可以幫助你 1.化妝。公司或php文件 2.定義類和函數 3.編寫PHP函數 裏面的JS像

<?php 
    class abc 
    { 
     public function sum() 
     { 
?> 
     //your js here 
<?php 

     } 

} 
?> 
  1. 將此文件包含到您的需要的文件中
  2. 創建對象並調用函數
  3. `
+0

好主意,但waaaay矯枉過正,我想要什麼。我使用一個MVC php框架來獲取我在頁面上的視圖,並且視圖中有一些js,它擁有一個單獨的文件中的巨大數組。該數組存儲了一些表單,並且這些表單只需要一些php回顯文件路徑。 – samuraiseoul 2012-07-11 10:12:58