您好,登錄后才能下訂單哦!
這篇文章主要介紹yii驗證碼為什么不刷新,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
yii驗證碼不刷新是什么原因
后臺登陸調用驗證碼,點擊驗證碼不刷新,沒有反應(所有驗證碼配置,參數都是正確的)。
找錯的時候發現可以刷新驗證碼的頁面比不可以刷新驗證碼的頁面多了一段 js 代碼,用來處理點擊驗證碼刷新的事件。
為什么會少了一段代碼?原來就是因為控制器分別調用了 renderPartial 和 render. 下面就說說它們的區別:
在進行頁面輸出渲染的時候。
render 輸出父模板的內容,將渲染的內容,嵌入父模板。
renderPartial 則不輸出父模板的內容。只對本次渲染的局部內容,進行輸出。
同時還有個重要的區別:
render 函數內部默認執行 processOutput($output) 函數, 會將把組件,比如 CTreeView 里面注冊到 CClientScript 里面的需要的腳本進行渲染輸出。
而 renderPartial() 默認不自動渲染輸出客戶端腳本,需要進行參數的指定,才會輸出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定 processOutput 為 true 即可。
就像我們遇到的問題,用 renderPartial 時,頁面沒有輸出驗證碼刷新的那段 js 。所以就沒有反應。
以上是“yii驗證碼為什么不刷新”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。