gpt4 book ai didi

javascript - 将 json 文件从 GO 服务器提供给 javascript 客户端

转载 作者:IT王子 更新时间:2023-10-29 00:45:22 25 4
gpt4 key购买 nike

我有一个 go 服务器,它必须通过提供 json 文件来响应 javascript 请求。 json 文件是一个对象数组。

我的代码:

服务器端

package expt

import (
"net/http"
)


func init() {
http.HandleFunc("/", handleStatic)
http.HandleFunc("/loadTrials", handleloadJson)
}

func handleStatic(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache")
http.ServeFile(w, r, "static/"+r.URL.Path)
}


func handleloadJson(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "static/trial.json")
}

客户端

loadTrials : function loadTrials() {

var _this = this,
load = this.shadowRoot.querySelector('#load-trial');

load.url="http://url:8080/loadTrials";
load.go()
load.addEventListener('core-response', function(ev) {
console.log(ev.detail.response)
}, false);
}

JSON

{
"trial-data" : [
{
"trial" : {
"index": 0,
}
},
{
"trial" : {
"index": 1,
}
}
]
}

如果我这样做,我会在 JavaScript 中获得 JSON 对象,但如果我尝试查看 JSON 以获取数组 - 即 console.log(ev.detail.response['trial-data']) 那么这不会工作。

最佳答案

ev.detail.response只是一个字符串响应,它不是解析后的json对象。

首先你需要使用 JSON.parse() 解析它然后您就可以访问它的内容了。

请参阅此 Javascript 示例:

var json = '{"trial-data":[{"trial":{"index": 0}},{"trial":{"index":1}}]}'

alert(JSON.parse(json)['trial-data'])

访问第一个"index"字段的值,例如:

var idx0 = JSON.parse(json)['trial-data'][0]['trial']['index']

关于javascript - 将 json 文件从 GO 服务器提供给 javascript 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30233217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com