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)