最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 无法从 Golang 服务器获取 JS 响应

    无法从 golang 服务器获取 js 响应

    问题内容

    我有 html:

    <button onclick="clicklistener()" id="form-button" type="button" class="btn btn-primary">click</button>

    js:

    <script>
            const clicklistener = () => {
                console.log('clicklistener()')
    
                fetch("/address")
                    .then(response => {
                        console.log(response)
                    })
                    .catch(e => {
                        console.log(e)
                    })
            }
       </script>

    去:

    func Handler(writer http.ResponseWriter, request *http.Request) {
        response := jsonResponse{IsAvailable: true, Message: "Available"}
    
        responseInJsonFormat, err := json.MarshalIndent(response, "", " ")
        if err != nil {
            log.Println("cannot convert response data to JSON")
            return
        }
    
        writer.Header().Set("Content-Type", "application/json")
        _, err = writer.Write(responseInJsonFormat)
        if err != nil {
            log.Println("cannot convert response data to JSON")
        }
    }

    如果我使用浏览器,我会收到 json 格式的响应,其中包含数据 {isavailable: true, message: “available”}。

    一切正常。

    但由于某种原因我无法在 js 中获取这些数据。
    我在 js 中得到的响应是:

    没有标题或数据。

    我怎样才能得到它?

    谢谢!

    正确答案

    fetch 返回一个 response 对象,然后必须将其解析为可用的格式,例如 json 或文本。由于您想要 json 格式,因此需要执行以下操作:

    fetch('/address')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(e => console.log(e))

    查看“使用 fetch api” 了解更多详细信息。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 无法从 Golang 服务器获取 JS 响应
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情