小弟有一支程式,需要透過js去取得DOM並且重新覆值,這之後又必須透過php將資料上傳到DB,但是我放到 CPanel 工作排程 後,只執行了php的部分,js的部分他不會執行。我了解是因為排程程式不是利用瀏覽器開啟所造成的。想請問有沒解決辦法呢?
以下是程式碼大概的架構,先到資料庫查詢,將資料印出讓js做DOM抓取並覆值,然後再將印出的html格式用ajax方式傳值存檔
<?php $sql = ... 略 ?>
<div id="source_code" style="display:none"><?php echo $source_code; ?></div>
<script>
let house_address = "<?php echo $row_house['house_address'] ?>";
let room_name = "<?php echo $row_sign_check['room_name'] ?>";
$('.house_address').text(house_address);
$('.room_name').text(room_name);
let final_contract = $('#source_code').html();
$.ajax({
url:'save_final_contract.php',
type:'post',
data:{
final_contract:final_contract
}
}).done(function(data){
console.log(data);
})
}
</script>
後端不能運行前端程式。前端不能運行後端程式
答案:無解。
你只能想辦法純後端處理。
後台運行php,它並不是瀏覽器。沒辦法幫你跑js。畢竟php也只是幫你輸出html碼。裏面的js程式碼對php來說,也不過只是一個文字檔。
真正跑js的還是只有瀏覽器。
前後端的觀念要先搞清楚才行。
ajax的部份,用後端的話可以用curl來處理你要的東西。
要將php當瀏覽器用也只有curl了。