本文實例分析了thinkPHP js文件中U方法不被解析問題。分享給大家供大家參考,具體如下:
我想在js文件中寫ajax,
寫完發現異常,
本以為是js文件中不支持ajax
後來發現時地址解析錯誤。
也就是U方法在js文件中不被解析。
貌似thinkphp解析,tpl文件中的一些元素。
js文件中的ajax
function ajaxCheckTel(tel,id){ var res = ''; $.ajax({ type:"post", url:ajaxurl, // 地址解析有誤,js文件中的U方法不會被thinkphp解析 data:"todo=checktel&tel="+tel+"&id="+id, async:false, success:function(msg){ res = msg; } }); if(res == 1){ return true; }else{ return false; } }
只能用ajaxurl來代替了,這個變量在tpl中解析完畢之後,傳入js文件中,這樣地址就正確了。
<script type="text/javascript"> var ajaxurl = "{sh::U('Merchant/ajax')}"; // merchant.js 中使用 </script> <script type="text/javascript" src="{sh::RES}public/js/merchant.js"></script>
由此可以看出,js中的變量也有范圍大小之分,像ajaxurl這個變量,可以在多個js函數中引用。
了解js機制,了解php機制,了解thinkphp機制,了解css機制。在實踐中去感受。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》、《smarty模板入門基礎教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。