- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个使用 get 方法提交数据的 html 表单。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Web Search</title>
</head>
<body>
<form action="/search" method="get">
<label for="tags">Enter your tags(Comma separated)</label>
<br>
<input type="text" name="tags">
<input type="submit">
</form>
</body>
</html>
这是我的代码
package main
import (
"net/http"
"log"
"html/template"
"fmt"
"github.com/julienschmidt/httprouter"
)
func main() {
router := httprouter.New()
router.GET("/",Search)
router.GET("/search?key=:tags",GrabQuestions)
log.Fatal(http.ListenAndServe(":8080",router))
}
func Search(w http.ResponseWriter,r *http.Request,_ httprouter.Params){
t,err := template.ParseFiles("E:/work/src/github.com/krashcan/sos/template/index.html")
if err!= nil{
log.Println(err)
}
t.Execute(w,nil)
}
func GrabQuestions(w http.ResponseWriter,r *http.Request,ps httprouter.Params){
fmt.Fprintf(w,"Tags were %s", ps.ByName("tags"))
}
我希望这段代码在按下提交按钮时简单地打印标签(func GrabQuestions 最终将服务于不同的任务,因此打印搜索键的替代方法不是我正在寻找的),但是当我点击提交按钮,它会给出一个 404 找不到页面
错误。我认为我犯了一些愚蠢的错误,但我只是没有看到。我错过了什么?
最佳答案
正如 Frank 在他的评论中指出的那样,httprouter 不支持通过“查询参数”进行路由,因此您应该将搜索路由定义更改为如下内容:
router.GET("/search", GrabQuestions)
关于go - httprouter.GET 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41507728/
我已经创建了嵌套模板,当我使用“net/http”和 http.HandelFunc 时它可以工作,但是,我决定继续使用“github.com/julienschmidt/httprouter”,因为
我来自 node express,我能够传递尽可能多的中间件,例如:routes.use('/*', ensureAuth, logImportant, ... n); 如何在使用 r.GET("/"
我正在使用路由器 ( httprouter ) 并希望从根目录提供静态文件。 css 文件在 static/style.css 在模板中 main.go router := httprouter.N
我正在使用 httprouter对于 API,我正在尝试弄清楚如何处理 404。它确实在 docs 中说404 可以手动处理,但我真的不知道如何编写自己的自定义处理程序。 我在其他路线之后尝试了以下.
我正在使用 https://github.com/julienschmidt/httprouter在我的 Go 项目中。 我刚才问了这个问题,@icza 解决了这个问题:httprouter conf
我有一个使用 get 方法提交数据的 html 表单。 Web Search Enter your tags(Comma separated)
我刚刚学会了如何使用 http路由器去打包并阅读许多关于它的文件,但是 当涉及到索引时,未能使用传递参数脚趾模板的 :name 样式 页面模板。 前任。 我的路由器代码: func getRo
Golang.org 有一篇关于如何做到这一点的博文: http://blog.golang.org/error-handling-and-go 他们基本上创造了一种新类型 type appHandl
我正在尝试从自签名证书创建 keystore 和信任库文件,用于部署在 JBoss ESB 中的 HTTPRouter 操作。我使用 openssl 检索感兴趣的证书并使用以下命令生成 keystor
我有以下 httprouter 处理程序,但我想自定义以便我可以注入(inject)我自己的记录器函数。 router := httprouter.New() router.Handle("GET",
我似乎不知道如何正确地一起使用中间件和 Http Router。 我的代码是: type appContext struct { db *mgo.Database } func main(){
我正在尝试为 httprouter 包实现类似 expressjs 的功能。我创建了一个结构 type mounter type Mounter struct { BasePath strin
对于一个可能很简单的问题,我深陷其中。我需要使用对第三方 CAS 身份验证服务的调用包装一个函数。我正在使用 go-cas 来执行此操作,并且在我开始添加路由要求之前一直有效。我选择了 Julien
我正在使用 httprouter去库实现一个REST API服务,我决定试试ServeFiles提供一些与我的 API 关联的模式文件。我注意到它使用了 Go 的便捷内置 net/http用于提供静态
我想使用 httprouter与 muxchain同时保留路由参数,例如 /:user/。 举个例子: func log(res http.ResponseWriter, req *http.Requ
我是 golang 的新手,使用 julienschmidt/httprouter 进行路由。 基于以下代码片段,能够发送一个参数。 但我对发送多个参数有点困惑,云任何人都可以帮助我。 package
我可以使用标准的 net/http 包获取 favicon.icon,但在使用 julienschmidt/httprouter 时遇到了问题。这就是我正在尝试的,并且收到 favicon.ico 文
我正在尝试创建一个 HTTPRouter 操作(在 esb 内),它将一些 XML 发送到外部 URL。该 URL 是安全的,但有一个自签名证书,我没有该证书的 keystore 。下面是我编写的用于
无法将 Prometheus 中间件传递到 httprouter 端点定义中。 我正在尝试将 Prometheus 中间件添加到我们的端点实现中。但是我们的端点正在使用名为 httprouter 的第
我很难理解如何一起使用 negroni 和 httprouter。 我有几个公共(public)路由,例如 /api/v1/ping 我有一堆需要身份验证中间件的私有(private)路由,例如/ap
我是一名优秀的程序员,十分优秀!