Golang Wasm 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: %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","*")

解决方法

对于任何偶然发现的人,它在浏览器中也可以正常工作。问题是HTML而不是代码。 HTML正在重新加载页面,因此请求由于终止而失败。