1. 程式人生 > >ThinkPHP5 對html頁面中的url傳參操作

ThinkPHP5 對html頁面中的url傳參操作

◆ 背景

  • 畢竟PHP開發的框架多數都會和前端頁面巢狀使用,而不同的框架升級多少都會有所變化,這畢竟是其中的一個知識點吧,在我找不到方法前,考慮的是隱藏域提交“ID”,然後後臺post處理取出此ID,再依次為依據進行後續操作…

框架:ThinkPHP5.1

  • 路由配置舉例:【有引數的一種】
Route::any('cms/article/edit/:id','cms/article/edit');

◆ 操作

§. html 中嵌入方式

  • 這種情況,一般是 form表單的頁面提交形式,直接在屬性 "action" 中進行配置,此時可以將引數以陣列引數的形式進行新增,如下:
 method
="post" action="{:url('cms/article/edit',['id'=>$todayWordData.id,'tag'=>'test'])}"

  • 那麼頁面的顯示效果如下:

要注意所生成URL中的引數變化,其與路由配置有關

§. js 中嵌入方式

  • 這種情況下多數是繫結的點選事件,需要在 當前頁面的 js 下配置陣列引數
  • 可是使用js提供的替換函式replace(),舉例如下
//選單修改按鈕的點選事件
function editNavMenu(id) {
     var postData = $(".form-opTodayWords"
).serialize(); var toUrl = "{:url('cms/todayWord/edit',['id'=>'NMID'])}"; toUrl = toUrl.replace('NMID',id) ToPostPopupsDeal(toUrl,postData); }

根據所給出的路由形式,本以為如下的方式可以成功,但是如此一來是無法替換其中的“NMID”的.

var toUrl = "{:url('cms/todayWord/edit/NMID')}";
toUrl = toUrl.replace('NMID',id)