JS函數需要一個由PHP生成的變量。 .js文件不能解釋<?php ?>
字符串,所以我必須從.html代碼中傳遞它。從php傳遞一個值給javascript
是的,但從HTML運行JS代碼被認爲是不好的做法(就像style
元素)。那麼該怎麼辦?
JS函數需要一個由PHP生成的變量。 .js文件不能解釋<?php ?>
字符串,所以我必須從.html代碼中傳遞它。從php傳遞一個值給javascript
是的,但從HTML運行JS代碼被認爲是不好的做法(就像style
元素)。那麼該怎麼辦?
你可以使用echo做這樣的事情:
<? echo('<script type="text/javascript">var hello="world"</script>');
有幾個選項。首先,你可以建立你的第一個例子。
<?php
$myVariable = array('key' => 'value', 'anotherKey' => 10);
?>
// PHP variable output in javascript's object syntax
var phpData = <?php echo json_encode($myVariable); ?>;
// value
console.log(phpData.key);
// 10
console.log(phpData.anotherKey);
另一種選擇是對PHP腳本使用Ajax請求來檢索數據。根據你的問題,這個選項很可能不會有用,因爲你有頁面加載時的數據。
的.js文件不能解釋
<?php ?>
串
所以給的文件擴展名.php
。 (請確保您重寫PHP的默認Content-Type的輸出與header()
通話。
但是從HTML運行JS代碼被認爲是不好的做法(就像樣式元素)。
這是因爲內聯JS是壞如果這個文件是動態生成的,那麼你可能無法清晰地緩存它。
做你的建議:從HTML運行JS代碼 – bozdoz 2013-02-18 22:11:27
我想你也可以配置apache來讀取js中的php代碼文件,作爲替代。 – bozdoz 2013-02-18 22:11:54
製作一個全局命名空間和ech一個'json_encode'd對象與你需要的數據。 JSON編碼的字符串是有效的JS對象文字,所以你甚至不需要解析它。 – 2013-02-18 22:12:23