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其它相關文章!