2012-04-28 57 views
-1

比方說,我有一些HTML文件是這樣的:如何在jQuery中包含php?

<body> 
    <div></div> 
</body> 

既然我已經正確地引用jQuery和我有這樣一個.js文件:

$(document).ready(function(){ 
    $('div').html(4); 
}); 

將輸出4時,HTML在瀏覽器中查看。爲什麼當我這樣做時不顯示任何內容?

$(document).ready(function(){ 
    $('div').html(<?php echo 4; ?>); 
}); 
+0

你是不是丟失了一些報價? '('div')。html(「<?php echo 5;?>」);' – 2012-04-28 17:59:42

+1

啊......我錯過了這是一個單獨的.js文件。正如Marcus所說,它很可能不會被PHP引擎執行。告訴你的PHP引擎和/或服務器也解析.js文件。 – 2012-04-28 18:00:37

+0

當你可以通過PHP在服務器上完成時,爲什麼通過JavaScript在頁面加載中設置DIV的內容? – 2012-04-28 18:06:30

回答

6

那麼一個.js文件不是一個PHP文件。您也可以將您的.js文件重命名爲blah.js.php,您可以在該文件中執行PHP塊,但是當您將該文件包含在頁面中時,該文件仍可以像jQuery一樣運行。

+2

你也應該可以告訴服務器/ php解析.js文件。 – 2012-04-28 18:01:05

+3

這也可以工作,但我認爲假設Ronny不熟悉MIME類型是安全的。 – 2012-04-28 18:02:26

+0

謝謝Marcus ... :) – 2012-04-28 18:08:05

0

您應該嘗試保持頁面上的動態內容並保持靜態的Javascript文件。這將允許瀏覽器緩存你的Javascript。所以,這裏是你如何獲得動態值給你的靜態Javascript。

你的頁面應該是這樣的:

<html> 
<body> 
    <div></div> 
    <script> 
     var myNumber = <?php echo 4; ?>; 
    </script> 
</body> 
</html> 

而JavaScript文件應該是這樣的:

$(document).ready(function(){ 
    $("div").html(myNumber); 
});