在服務器發生什麼事情之後,是否可以更改CSS元素的顏色?使用AJAX更改CSS樣式並且無需重新加載
在我的程序中,我點擊一個按鈕,然後啓動一個PHP程序。該程序更改服務器中的值(Raspberry Pi的GPIO端口的值)。
有沒有可能,我可以改變一個CSS屬性與PHP加載後?如果我嘗試AJAX,它沒有影響,因爲該網站已經加載,並且輸出對網站沒有影響。
<div id="output">
<script type='text/javascript'>
var gpio_status = '0';
</script>
</div>
<script type="text/javascript">
var php_output = document.getElementById("output");
var request;
function gpio_out(gpio_nr) {
request = new XMLHttpRequest();
request.open("post", "gpio_out.php", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("daten=" + gpio_nr);
request.onreadystatechange = request_status;
}
function request_status() {
if (request.readyState == 4 && request.status == 200) {
php_output.innerHTML = request.responseText;
}
}
</script>
內容的AJAX文件:
$gpio_status = shell_exec("cat /sys/class/gpio/gpio" . $gpio_nr . "/value");
echo "<script type='text/javascript'>";
echo "var gpio_status = '$gpio_status';";
echo "</script>";
最後我想要的JS變量 「gpio_status」。但它始終具有與我在開始時給出的值相同的值:0.如果我使用colsole.log()變量,我總是會得到0.但是,其他代碼正常工作。
應該很容易在ajax回調中通過使用javascript切換類或內聯樣式來完成。總體問題的細節太模糊了。花點時間閱讀[問]和[問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist),然後用適當的細節和代碼更新問題 – charlietfl
'如果我嘗試AJAX它沒有影響,因爲該網站已經加載,並且輸出對網站沒有影響 - 你做錯了,顯示代碼 –
你能檢查我的代碼嗎? – ChiefAlu