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

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

編輯:關於PHP編程

thinkphp教程在控制器裡的網頁特效代碼不能執行解決方法
就拿“退出”這一項來說吧。
我的“退出系統”鏈接是寫到左邊的框架裡的,用js動態生成的。也就是說,沒法通過鏈接裡的target來指定。

view sourceprint?1 $this->assign('jumpurl',__url__.'/login');<br>$this->success("注銷成功!");<br>

這樣寫的話,要跳轉的頁面就顯示在了右框架裡了。
把js代碼寫到url裡面不行。
我把這兩行代碼注釋掉了。直接用


view sourceprint?1 echo "<script>window.top.location.href='$url';</script>";


這樣也不行,一方面url裡面沒法用__app__這些常量。另一方面,最後執行出來的結果是竟是把<script>標簽去掉,剩下的直接輸出!(window.top.location.href='index/login';)
我查了action類裡的success函數,沒有找到相關的參數。

 

星期天在朋友那吃飯的時候,突然想到一個問題,tp裡的標簽都是以尖括號(<>)來包含的,我在控制器裡寫的<script>是不是被當作標簽給解析了呢?於是我就重新寫了第二段代碼:


view sourceprint?1 echo '<literal><script>alert("退出成功");top.location.href="login";</script></literal>';

這樣就行了。

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