我看過了,並且會繼續瀏覽更多論壇帖子,但是我還沒有找到解決這個簡單問題的方法。在一個單獨的.js文件中使用我在.php文檔中創建的變量
足夠簡單,我從服務器獲取一些數據,我在我的.php文件中處理這些數據並創建四個變量。我的變量是(爲了簡單)$ v1,$ v2,$ v3,$ v4。現在我還有一個.js文件,我想要使用這四個變量。具體來說,我想在谷歌地圖標記中使用這些變量(但如果您不知道,則不必回答),但是如何我可以抓住這些變量並在我的谷歌地圖標記(.js文件)中使用它們的值嗎?
我看過了,並且會繼續瀏覽更多論壇帖子,但是我還沒有找到解決這個簡單問題的方法。在一個單獨的.js文件中使用我在.php文檔中創建的變量
足夠簡單,我從服務器獲取一些數據,我在我的.php文件中處理這些數據並創建四個變量。我的變量是(爲了簡單)$ v1,$ v2,$ v3,$ v4。現在我還有一個.js文件,我想要使用這四個變量。具體來說,我想在谷歌地圖標記中使用這些變量(但如果您不知道,則不必回答),但是如何我可以抓住這些變量並在我的谷歌地圖標記(.js文件)中使用它們的值嗎?
如果您在外部腳本加載之前在腳本標記中聲明瞭全局變量,則外部腳本中將提供該變量。
<html>
<head>
<script type="text/javascript">
var v1 = <?=$v1?>,
v2 = <?=$v2?>,
v3 = <?=$v3?>,
v4 = <?=$v4?>;
</script>
<script type="text/javascript" src="js/someExternalScript.js"></script>
</head>
<body>
Some body
</body>
</html>
如果您願意,還可以使用腳本標記在另一個頁面中定義變量,例如javascript外部文件。按照腳本出現在源代碼中的順序,後面的腳本將可以訪問以前腳本中的全局變量(這裏的全局意味着沒有在函數/閉包範圍內定義)。例如,大多數人將jquery作爲外部腳本包含,並且所有包含jquery的腳本都可以訪問它。
你可以做兩件事情:
我會先給出第二條指令,因爲它應該給你一些關於這兩種技術如何相關的未知因素。
這是假設你正在寫的腳本不是基於Ajax的 - 只是一些標準生成頁面與 - PHP,包括.js文件。
寫一個PHP文件,將生成的Javascript內容:
// /js/vars.php
$v1 = $v2 = $v3 = $v4 = time();
header("Content-type: text/javascript");
echo "window.Variables = {
v1: $v1,
v2: $v2,
v3: $v3,
v4: $v4
}";
(注意,如果變量是字符串,你應該添加引號)
要求在<head>
該文件之前你想使用變量的文件。
<script type="text/javascript src="/js/vars.php">
在您的.js文件中使用它。
var smth = Variables.v1 + Variables.v2;
如何,這是一個禁忌的原因有很多,他們當中:由PHP文件生成
寫一個PHP文件,將生成JSON數據:
// /js/vars.php
$v1 = $v2 = $v3 = $v4 = time();
$jsonArr = array(
'v1'=> $v1,
'v2'=> $v2,
'v3'=> $v3,
'v4'=> $v4
);
header("Content-type: application/json");
echo json_encode($jsonArr);
寫一些JavaScript代碼,將拉動使用Ajax的數據。例如。使用jQuery:
$.getJSON('js/vars.php', function(data) {
alert(data.v1+data.v2);
});
還你看着JSON編碼和使用AJAX拉離,結果? – ryanc1256