#http #go #webassembly
#http #Вперед #веб-сборка
Вопрос:
Я немного застрял в запросе Golang wasm. Код отлично работает в сервисе, когда я его тестирую, но когда я пытаюсь запустить его в браузере с помощью wasm, я получаю сообщение о сбое выборки. Ошибка. Этот код работает просто отлично, если я вызываю его из автономной службы:
go func() {
authURL := "https://auth.home.rsmachiner.com/login"
type loginStruct struct {
Username string `json:"username"`
Password string `json:"password"`
}
fmt.Println("Pushed login button")
fmt.Printf("Got Login: %vn", r.LoginBoxValue)
fmt.Printf("Got Password: %vn", r.PasswordValue)
var login loginStruct
login.Username = r.LoginBoxValue
login.Password = r.PasswordValue
data, err := json.Marshal(amp;login)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(data))
req, _ := http.NewRequest("POST", authURL, bytes.NewBuffer(data))
client := amp;http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("response error")
fmt.Println(err)
return
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Print("BODY:")
fmt.Println(string(body))
}()
Который выдает следующую ошибку:
Post "https://auth.home.rsmachiner.com/login": net/http: fetch() failed: Failed to fetch
Когда я пробую это с автономного клиента, он работает нормально. Сервер также разрешает CORS с
w.Header().Set("Access-Control-Allow-Origin", "*")
Ответ №1:
Для всех, кто натыкается на это, это также отлично работает в браузере. Проблема заключалась в HTML, а не в коде. HTML перезагружал страницу, поэтому запрос не выполнялся из-за завершения.