2016-07-18 7 views
0

aufrufen Ich bin relativ neu zu Backbone und Go und versuchen, eine Funktion abhängig von URL aufrufen.Nicht in der Lage, http.HandleFunc in Go

Dies ist mein Code in Router von wo eine Anfrage auf eine Go-Seite geht.

collection.fetch({ 
       url: "/bands" 
      }) 
      .done(function(data) { 
       console.log("hello"); 
      }); 

Dies ist mein Code, in dem ich die ganze Anfrage am Umgang:

func viewHandler(w http.ResponseWriter, r *http.Request) { 
    fmt.println("in viewHandler") 
} 

func main() { 
    http.Handle("/", http.FileServer(http.Dir("../"))) 
    http.HandleFunc("/bands", viewHandler) 
    http.ListenAndServe(":8080", nil) 
} 

In meinem Registerkarte Netzwerk der Header:

Request URL:http://localhost:8080/bands 
Request Method:GET 
Status Code:200 OK 
Remote Address:[::1]:8080 

Aber nichts wird immer auf der Konsole gedruckt seit Ich denke, viewHandler wird nicht aufgerufen. Was ist der Grund dafür?

Antwort

0

Eigentlich ist Ihr Code in Ordnung ... das bedeutet fast in Ordnung. fmt.println() braucht einen großen „P“:

func viewHandler(w http.ResponseWriter, r *http.Request) { 
    fmt.Println("in viewHandler") 
} 

Wenn ich Ihren Code mit dieser Einstellung testen „in Viewhandler“ an das Terminal druckt wie erwartet.

+0

Sicher kann das nicht der Grund sein, da der Code nicht mit dem Tippfehler kompilieren würde ... Ich vermute, dass das OP den tatsächlichen Code nicht bekannt gibt, aber ein modifiziertes Beispiel hat er nicht wirklich getestet. – ain

+0

Sie haben Recht, das muss der Fall sein. @Dev: Da der bereitgestellte Code in Ordnung ist, können Sie Ihre Frage so bearbeiten, dass sie ein Beispiel enthält, das den Fehler reproduziert? – TehSphinX