這篇文章主要介紹yii驗(yàn)證碼為什么不刷新,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、太仆寺網(wǎng)站維護(hù)、網(wǎng)站推廣。yii驗(yàn)證碼不刷新是什么原因
后臺(tái)登陸調(diào)用驗(yàn)證碼,點(diǎn)擊驗(yàn)證碼不刷新,沒有反應(yīng)(所有驗(yàn)證碼配置,參數(shù)都是正確的)。
找錯(cuò)的時(shí)候發(fā)現(xiàn)可以刷新驗(yàn)證碼的頁面比不可以刷新驗(yàn)證碼的頁面多了一段 js 代碼,用來處理點(diǎn)擊驗(yàn)證碼刷新的事件。
為什么會(huì)少了一段代碼?原來就是因?yàn)榭刂破鞣謩e調(diào)用了 renderPartial 和 render. 下面就說說它們的區(qū)別:
在進(jìn)行頁面輸出渲染的時(shí)候。
render 輸出父模板的內(nèi)容,將渲染的內(nèi)容,嵌入父模板。
renderPartial 則不輸出父模板的內(nèi)容。只對(duì)本次渲染的局部內(nèi)容,進(jìn)行輸出。
同時(shí)還有個(gè)重要的區(qū)別:
render 函數(shù)內(nèi)部默認(rèn)執(zhí)行 processOutput($output) 函數(shù), 會(huì)將把組件,比如 CTreeView 里面注冊(cè)到 CClientScript 里面的需要的腳本進(jìn)行渲染輸出。
而 renderPartial() 默認(rèn)不自動(dòng)渲染輸出客戶端腳本,需要進(jìn)行參數(shù)的指定,才會(huì)輸出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定 processOutput 為 true 即可。
就像我們遇到的問題,用 renderPartial 時(shí),頁面沒有輸出驗(yàn)證碼刷新的那段 js 。所以就沒有反應(yīng)。
以上是“yii驗(yàn)證碼為什么不刷新”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!