我在Golang wasm请求上有点卡住了。当我测试它时,代码在服务中运行得很好,但是当我尝试在浏览器中运行它时,我得到了一个fetch failed错误。如果我从一个独立的服务调用它,这段代码运行得很好:
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: %v\n", r.LoginBoxValue)
fmt.Printf("Got Password: %v\n", r.PasswordValue)
var login loginStruct
login.Username = r.LoginBoxValue
login.Password = r.PasswordValue
data, err := json.Marshal(&login)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(data))
req, _ := http.NewRequest("POST", authURL, bytes.NewBuffer(data))
client := &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
型
当我从一个独立的客户端尝试它时,它工作得很好。
w.Header().Set("Access-Control-Allow-Origin", "*")
型
1条答案
按热度按时间shstlldc1#
对于任何遇到这个问题的人来说,它在浏览器中也能正常工作。问题是HTML而不是代码。HTML正在重新加载页面,因此请求由于被终止而失败。