Javascript 使用fetch向Golang服务器发送post请求
我正在使用gorilla/mux的golang服务器和来自“github.com/graarh/golang socketio”的WebSocket服务器,我正在以JSON的形式将数据发送到golang服务器,我想在那里将其解析为结构,但它没有解析数据,请单击获取 下面是用于调用服务器的javascript代码Javascript 使用fetch向Golang服务器发送post请求,javascript,api,go,fetch,Javascript,Api,Go,Fetch,我正在使用gorilla/mux的golang服务器和来自“github.com/graarh/golang socketio”的WebSocket服务器,我正在以JSON的形式将数据发送到golang服务器,我想在那里将其解析为结构,但它没有解析数据,请单击获取 下面是用于调用服务器的javascript代码 document.getElementById("form").addEventListener("submit", (e) => { e.preventDefau
document.getElementById("form").addEventListener("submit", (e) => {
e.preventDefault();
console.log("form submitetd");
let file = document.getElementById("fileInput").files[0];
let fr = new FileReader();
fr.onload = function () {
postData(fr.result.toString());
};
fr.readAsText(file);
});
function postData(fileString) {
let Body = {};
Body.key = fileString;
Body.to = document.getElementById("to").value;
Body.from = document.getElementById("from").value;
Body.amount = document.getElementById("amount").value;
console.log(Body);
fetch("/transaction", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(Body),
}).then((resp) => {
console.log(resp);
});
}
txData
struct字段未导出意味着它们在包外部不可见,因为它们以小写字母开头。所以encoding/json
包无法访问它们。将字段的第一个字母大写以将其导出
type txData struct {
To string
From string
Value int
Key string
}
参考Golang规范我尝试将其大写为TxData,但它仍然给出一个空输出:响应体:&{0xc00008a300[]{0 0{false[]0}{[]}false false 0}0 0{false[]0}}{to:from:value:0键:}不大写
TxData
capitalize它是一个类似to
->toto的字段
type txData struct {
To string
From string
Value int
Key string
}