Golang Wasm HTTP请求失败

0dxa2lsx  于 5个月前  发布在  Go
关注(0)|答案(1)|浏览(60)

我在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", "*")

shstlldc

shstlldc1#

对于任何遇到这个问题的人来说,它在浏览器中也能正常工作。问题是HTML而不是代码。HTML正在重新加载页面,因此请求由于被终止而失败。

相关问题