diff options
author | xengineering <mail2xengineering@protonmail.com> | 2021-06-11 11:40:46 +0200 |
---|---|---|
committer | xengineering <mail2xengineering@protonmail.com> | 2021-06-11 11:40:46 +0200 |
commit | 6df5b35600e6aae6e676e2ba29eeaaf88bf9ff9b (patch) | |
tree | 1c415dca51dcb61a06551188232982b29c38c77d | |
parent | d4e1f48ff12db48e9a9bdbd3253c1041328ca66d (diff) | |
download | birdscan-6df5b35600e6aae6e676e2ba29eeaaf88bf9ff9b.tar birdscan-6df5b35600e6aae6e676e2ba29eeaaf88bf9ff9b.tar.zst birdscan-6df5b35600e6aae6e676e2ba29eeaaf88bf9ff9b.zip |
Implement AJAX Call
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | data/html/index.html | 2 | ||||
-rw-r--r-- | data/js/birdscan.js | 7 | ||||
-rw-r--r-- | src/web.go | 11 |
4 files changed, 21 insertions, 0 deletions
@@ -21,4 +21,5 @@ install: all install -Dm 644 systemd/birdscan.sysusers $(DESTDIR)$(PREFIX)/lib/sysusers.d/birdscan.conf install -Dm 644 data/html/index.html $(DESTDIR)$(PREFIX)/share/birdscan/html/index.html install -Dm 644 data/css/birdscan.css $(DESTDIR)$(PREFIX)/share/birdscan/css/birdscan.css + install -Dm 644 data/js/birdscan.js $(DESTDIR)$(PREFIX)/share/birdscan/js/birdscan.js diff --git a/data/html/index.html b/data/html/index.html index af72c46..eddc2b3 100644 --- a/data/html/index.html +++ b/data/html/index.html @@ -25,8 +25,10 @@ <main> <h1>birdscan</h1> <p>A software to take beautiful pictures of birds with a Raspberry Pi Camera.</p> + <button onclick="singlePicture()">Take single picture</button> </main> + <script src="./js/birdscan.js"></script> </body> </html> diff --git a/data/js/birdscan.js b/data/js/birdscan.js new file mode 100644 index 0000000..d1bba04 --- /dev/null +++ b/data/js/birdscan.js @@ -0,0 +1,7 @@ + +function singlePicture() { + const xhttp = new XMLHttpRequest(); + xhttp.open("POST", "./api/single_picture"); + xhttp.send(); +} + @@ -26,6 +26,8 @@ func runServer(cfg *webConfig) { router.Get("/", indexHandler) router.Get("/css/birdscan.css", cssHandler) + router.Get("/js/birdscan.js", jsHandler) + router.Post("/api/single_picture", singlePictureHandler) log.Println("Binding to 'http://" + cfg.BindAddress + ":" + cfg.BindPort + "'") log.Fatal(http.ListenAndServe(cfg.BindAddress + ":" + cfg.BindPort, router)) @@ -39,3 +41,12 @@ func cssHandler(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, fmt.Sprintf("%s/css/birdscan.css", APP_DATA)) } +func jsHandler(w http.ResponseWriter, r *http.Request) { + http.ServeFile(w, r, fmt.Sprintf("%s/js/birdscan.js", APP_DATA)) +} + +func singlePictureHandler(w http.ResponseWriter, r *http.Request) { + log.Println("Received request for a single picture") + fmt.Fprintf(w, http.StatusText(http.StatusOK)) +} + |