找到MVC框架中前端URL与后端同步的解决方案
基本思路:
先用URL标签生成完整的URL字符,前端动态参数的部分以适配符先填充,最后动态参数利用正则匹配进行替换。
这种方式,可以在各种MVC框架中适用,妙。
不废话,上码。
var url = "{url app=xxxxn&act=yyy&id=[0]}";
url = url.format({$id});
//String.format 同时匹配[](){}内容方式
if (!String.prototype.format) {
String.prototype.format = function () {
var args = arguments;
var tag = '';
return this.replace(/(\{|\(|\[)(\d+)(\}|\)|\])/g, function (match, m0,m1,m2) {
tag = m0+m2;
if(tag=='()' || tag == '{}' || tag == '[]') return typeof args[m1] != 'undefined'? args[m1]: (m0+m1+m2);
});
};
}
上面用原型的方式改变了String对象的方法,可以适当改写,变成一般的函数传参。
TP框架中的Url生成函数会对参数进行urlencode,所以括号都会编码掉,要找其它替代符号,如 - 。
找到MVC框架中前端URL与后端同步的解决方案的更多相关文章
- asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析
下面我用一个实例来和大家分享一下我的经验,asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析. using Newtonsoft.Json; usin ...
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
本文转自http://www.cnblogs.com/davidwang456/p/4090058.html 感谢作者 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并 ...
- MVC框架中的值提供机制(二)
在MVC框架中存在一些默认的值提供程序模板,这些值提供程序都是通过工厂模式类创建;在MVC框架中存在需要已Factory结尾的工厂类,在值提供程序中也存在ValueProviderFactories工 ...
- Python的Django框架中的URL配置与松耦合
Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...
- [原]命令模式在MVC框架中的应用
其实在项目开发中,我们使用了大量的设计模式,只是这些设计模式都封装在框架中了,如果你想要不仅仅局限于简单的使用,就应该深入了解框架的设计思路. 在MVC框架中,模式之一就是命令模式,先来看看模式是如何 ...
- 命令模式在MVC框架中的应用
事实上在项目开发中,我们使用了大量的设计模式,不过这些设计模式都封装在框架中了,假设你想要不只局限于简单的使用,就应该深入了解框架的设计思路. 在MVC框架中,模式之中的一个就是命令模式,先来看看模式 ...
- 在ASP.NET MVC 框架中调用 html文件及解析get请求中的参数值
在ASP.NET MVC 框架中调用 html文件: public ActionResult Index() { using (StreamReader sr = new StreamReader(P ...
- MVC框架中的值提供机制(三)
在MVC框架中NameValueCollectionValueProvider采用一个NameValueCollection作为数据源,DictionnaryValueProvider的数据源类型自然 ...
- MVC框架中的值提供机制(一)
在MVC框架中action方法中的Model数据的绑定的来源有很多个,可能是http请求中的get参数或是post提交的表单数据,会是json字符串或是路径中的相关数据;MVC框架中针对这些不同的数据 ...
随机推荐
- PHP 常用获取路径代码
<? //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERE ...
- 尝试在tensorflow上运行facenet
上一篇装好了tensorflow的运行环境,开始尝试运行一些实例代码,在github上找到了一个tensorflow实现的facenet的代码,还是遇到了很多坑! 坚持看完,有重要总结! 代码:htt ...
- 开发者app 上传收集
直接使用酷传 看各个市场目录 http://publish.coolchuan.com/myaccount/accounts 注册帐号 百度开发者 http://jingyan.baidu.com/ ...
- Windows Driver Foundation-User-Mode Driver Framework 服务不能启动(错误31)问题解决
这个错误是由于WudfPf这个服务没有启动有关,导致开机时出现SVCHOST.EXE出现,内存不能"Written"的错误, http://answers.yahoo.com/qu ...
- 【学】常用hash算法的介绍
基本知识 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映 ...
- 使用grunt构建seajs项目
1.安装nodejs 2.安装grunt-cli npm install -g grunt-cli 3.进入到项目目录,同时准备好package.json和Gruntfile.js文件 //packa ...
- HttpRequest重写,解决资源战胜/链接超时/分块下载事件通知 问题。
/************************************************************************************** 文 件 名: WebRe ...
- ios开发人员mac空间不够用的解决办法
有时候,当我们的mac硬盘空间不够用的时候,我们查看“用户”文件夹,发现这个文件夹占用了很大的存储空间,可是当我们一个一个查看这个文件夹下的子文件夹所占的存储空间大小并把这些存储空间大小加起来的时候却 ...
- [CS231n-CNN] Linear classification II, Higher-level representations, image features, Optimization, stochastic gradient descent
课程主页:http://cs231n.stanford.edu/ loss function: -Multiclass SVM loss: 表示实际应该属于的类别的score.因此,可以发现,如果实际 ...
- C#基础总结之三循环控制-for-数组-乘法表-arraylist
#region 第三天 作业 乘法表 ////正三角 //for (int i = 1; i < 10; i++) //{ // for (int j = 1; j <= i; j++) ...