我知道這是一個關於堆棧溢出的常見問題,但我無法找到PHP代碼剛剛位於同一文件中的JS腳本之上的場景。我猜ajax POST/GET在這種情況下不會做這個工作嗎?將jQuery變量傳遞給PHP在同一頁上?
(...)
var ww = $(window).width();
</script>
<?php $ww = [data here] ?>
我知道這是一個關於堆棧溢出的常見問題,但我無法找到PHP代碼剛剛位於同一文件中的JS腳本之上的場景。我猜ajax POST/GET在這種情況下不會做這個工作嗎?將jQuery變量傳遞給PHP在同一頁上?
(...)
var ww = $(window).width();
</script>
<?php $ww = [data here] ?>
您將不得不使用POST/GET到JS變量發送到PHP,因爲PHP是由服務器處理和JS是由客戶端處理。
我知道這不是你想聽到的。
這是錯誤的方法。 PHP是所有解析/評估的服務器端。之後,用戶的瀏覽器開始解析/評估JavaScript。即使JS出現在你的文件中的PHP之前,PHP仍然在評估服務器端之前將任何內容傳遞給瀏覽器。如果您需要將客戶端值傳遞迴服務器,那麼您可以使用AJAX。您可以再次在服務器端做出決定,並在響應中觸發JavaScript根據PHP做出的決定採取一些行動,但是您不會在這樣的單個文件中混合/匹配客戶端/服務器操作。
我會使用AJAX將我需要的東西傳遞給要處理的服務器,然後根據響應使用Javascript進行必要的調整。例如:
***PHP File***
<?php
$ww = $_POST['data'];
$result = doSomethingWithVariable($ww);
echo $result;
***HTML File***
<script>
...
var ww = $(window).width();
$.ajax({
url: 'phpfile.php',
type: 'POST',
data: { data : ww },
success: function (result) {
doSomethingWithResult(result);
}
});
</script>
我不認爲有什麼辦法,因爲JavaScript在本地計算機上後運行 PHP已經被執行,並已返回的HTML/CSS/JS給你瀏覽器。
我最近做的是將一個變量值傳遞給由php動態生成的元素的屬性。然後使用jquery的get attr()函數來獲取值。完美工作!
PHP部分:
foreach ((array)$photos['photos']['photo'] as $photo) {
$Maxcount++;
}
foreach ((array)$photos['photos']['photo'] as $photo) {
echo "<img imgID='$IDcount' Maxcount='$Maxcount'
的jQuery:
var maxCount= $(".imageView").attr("maxCount");
什麼是你的代碼的目的是什麼? –
我責備Frontpage。不是每個人都可以建立一個網站,也不應該每個人 –
@Rob W我需要使用Timthumb顯示100%範圍的圖像,寬度:100%不會完成這項工作,因爲圖像必須裁剪。 – Wordpressor