我有点卡在Golang wasm的请求上了。当我测试它时,代码在服务中运行得很好,但是当我尝试用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当我从一个独立的客户端尝试它时,它工作得很好。服务器也允许使用CORS
w.Header().Set("Access-Control-Allow-Origin", "*")