ThinkPHP5 对html页面中的url传参操作

◆ 背景

毕竟PHP开发的框架多数都会和前端页面嵌套使用,而不同的框架升级多少都会有所变化,这毕竟是其中的一个知识点吧,在我找不到方法前,考虑的是隐藏域提交“ID”,然后后台post处理取出此ID,再依次为依据进行后续操作…

框架:ThinkPHP5.1

路由配置举例:【有参数的一种】

Route::any('cms/article/edit/:id','cms/article/edit');

1

◆ 操作

§. html 中嵌入方式

这种情况,一般是 form表单的页面提交形式,直接在属性 "action" 中进行配置,此时可以将参数以数组参数的形式进行添加,如下:

method="post" action="{:url('cms/article/edit',['id'=>$todayWordData.id,'tag'=>'test'])}"

1

那么页面的显示效果如下:

要注意所生成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)