程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP控制器裡javascript代碼不能執行的解決方法

ThinkPHP控制器裡javascript代碼不能執行的解決方法

編輯:PHP綜合

本文實例講述了ThinkPHP控制器裡javascript代碼不能執行的解決方法。分享給大家供大家參考。具體方法如下:

這裡實例分析一下thinkphp在控制器裡的網頁特效代碼不能執行解決方法,就拿“退出”這一項來說吧,我的“退出系統”鏈接是寫到左邊的框架裡的,用js動態生成的。也就是說,沒法通過鏈接裡的target來指定。
復制代碼 代碼如下:$this->assign('jumpurl',__url__.'/login');<br>$this->success("注銷成功!");
這樣寫的話,要跳轉的頁面就顯示在了右框架裡了,把js代碼寫到url裡面不行,我把這兩行代碼注釋掉了。直接用:
復制代碼 代碼如下:echo "<script>window.top.location.href='$url';</script>";
這樣也不行,一方面url裡面沒法用__app__這些常量,另一方面,最後執行出來的結果是竟是把<script>標簽去掉,剩下的直接輸出!
復制代碼 代碼如下:(window.top.location.href='index/login';)
我查了action類裡的success函數,沒有找到相關的參數。

後來突然想到一個問題,tp裡的標簽都是以尖括號(<>)來包含的,我在控制器裡寫的<script>是不是被當作標簽給解析了呢?於是我就重新寫了第二段代碼:
復制代碼 代碼如下:echo '<literal><script>alert("退出成功");top.location.href="login";</script></literal>';
這樣就行了。

希望本文所述對大家的ThinkPHP框架程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved