Есть простая страничка с кнопкой и полем для текста:
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<div id="demo">
<button v-on:click="upload">Получить данные</button>
<div v-if="loading">Loading...</div>
<p>{{result}} </p>
<section v-if="errored">
<p>We're sorry, we're not able to retrieve this information at the moment, please try back later</p>
</section>
</div>
<script src="main1.js"></script>
</html>
ПО нажатию на кнопку средствами axios отправляется POST запрос на golang сервер. Запрос приходит, данные обратно отправляются и успешно обрабатываются на страничке. Однако данные запроса страницы к серверу прочитать на сервере не могу. В чем может быть причина?
JS файл:
var demo = new Vue({
el: '#demo',
data: {
loading: false,
errored: false,
result: "no data"
},
methods: {
upload: function () {
this.loading = true;
axios
.post('http://localhost:8000',{123: "123"})
.then(response => {
this.result = response;
})
//.then(response => console.log(response))
.catch(error => {
console.log(error)
this.errored = true;
})
.finally(() => (this.loading = false));
}
}
})
Сервер:
package main
import (
"fmt"
"net/http"
)
func receiveSend(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
if r.Method == "POST" {
fmt.Println("My request is: ", r.FormValue("123"))
fmt.Fprintln(w, "тут валидный json ")
}
}
func main() {
http.HandleFunc("/", receiveSend)
http.ListenAndServe(":8000", nil)
}