Harley Wang

为了心中的美好,不妥协直到变老

Technical discuss & life Note-taking.


使用gin踩过的坑

永久(301)和临时(301)跳转问题

目前很多浏览器(例如: Chrome)开始缓存301请求,缓存后访问A Url会被直接在浏览器端跳转到B Url;在gin中可能会导致router B Url不会收到请求;在SEO方面还会将关键词排名和PR级别传给B Url,当然还会影响Squid的缓存结果;

gin 的301跳转方法如下:

c.Redirect(http.StatusMovedPermanently, "/login")

gin 的302跳转方法如下:

c.Redirect(http.StatusFound, "/login")

gin的302跳转相当于PHP语言中的:

<?php 
    header('Location: /login');
?> 

子模板传参问题

在模板中接收参数很简单,例如:{{ .username }} 但是有时候在子模板中有时接收不到参数, 一般是因为在引用子模板的时候少了一个 . 点,例如:

{{template "navbar"  }}

应该为:

{{template "navbar" . }}

这一个点还是很重要的吧

最近的文章

gin中文文档

安装与配置 框架架构 生命周期 Context 路由 基本路由 路由参数 路由群组 控制器 请求 请求头 Cookies 上传文件 响应 响应头 附加Cookie 字符串响应 JSON响应 视图响应 文件下载 重定向 同步异步 视图 ...…

继续阅读
更早的文章

PigeonJs

PigeonJs 是一个轻量级自定义事件或观察者模式的实现。特点: 小巧,不依赖任何lib 单例模式实现,任意地方可添加订阅,移除订阅,清除事件类型; 支持单事件触发和群组触发,单事件移除和群组移除; 移除订阅只需通过namespace命令空间,因为有时添加订阅和移除阅订不在一个作用域下, 这样会带来极大的方便; 安全的handlers事件存储,不会被无意中覆盖;NameSpace格式:type.key : type 为事件的类型,表示群组;key 为订阅的唯一标识符 注意:不...…

继续阅读