PHP輸出的js不執行怎麼辦

2020-07-16 10:06:42

PHP輸出的js不執行

<?php
    echo "<script>alert('我彈出來了')</script>";
?>

一句話就可以在PHP裡面輸出JS指令碼讓瀏覽器執行。(推薦:《PHP教學》)

但是今天碰到一個很詭異的問題,就是這段程式碼在Chrom和firefox下只是單純的輸出字串,沒有執行,沒有彈出alert。

原理:

MIME chrome對text/plain 不做解析的。php利用header可以輸出html ,瀏覽器用最後一次輸出header作為content-type

header('Content-Type:text/html;charset=utf-8');

text/plain html是不執行的。

只需要在alert前重新header即可。

if(!uploadFile())
{
    echo "<script>alert('上傳檔案失敗')</script>";    
}
header('Content-Type:text/html;charset=utf-8');
echo ("<script type='text/javascript'>alert('儲存成功');history.back();</script>")

以上就是PHP輸出的js不執行怎麼辦的詳細內容,更多請關注TW511.COM其它相關文章!