当我输入电子邮件时,为什么我的订单状态没有显示?

时间:2018-11-07 21:24:00

标签: html go

我正在制作一个比萨网站,并且正在处理订单状态。 订单有效,但是如果我在输入位置键入电子邮件,则不会显示我的状态。

HTML:

<form method="POST">
        <p>Emailadres <input type="email" name="statuscheck"></p>
        <input type="submit" value="Verzend">

     </form>
     {{ . }}

处理程序:

func statusHandler(writer http.ResponseWriter, request *http.Request) {
log.Println("Viewing status")

// maak een html template object aan
statuschecktemplate, _ := template.ParseFiles("./templates/status.htm")

PizzaBestellingen, _ := LoadBestellingenFromMap()

var data string

for _, value := range PizzaBestellingen {
    for _, value := range value {
        if value.Email == request.FormValue("statuscheck") {
            data = value.Status
        }
    }
}
fmt.Println(data)
// genereer de html met de lijst van pizzas
// deze worden automatisch teruggestuurd naar de browser
statuschecktemplate.Execute(writer, data)

}

1 个答案:

答案 0 :(得分:0)

看看它的定义

func LoadBestellingenFromMap() (map[string][]Klant, error) {

LoadBestellingenFromMapmap返回到slice Klant 中,而不仅仅是一个。

您可以尝试以下方法:

for _, values := range PizzaBestellingen {
  for _, value := range Values {
    if value.Email == request.FormValue("statuscheck") {
        data = value.Status
    }
  }
}

您可能还必须重新考虑算法的逻辑(您可能会获得多个这样的Email),但是事实已经如此,因为您已经在{{1} }。请记住,如果可能会匹配多个这样的电子邮件。